| ChildrenDescriptor(String parentChildColumnName,
                  BiConsumer<CHILD,Long> parentSetter,
                  Function<PARENT,List<CHILD>> getter,
                  BiConsumer<PARENT,List<CHILD>> setter,
                  DaoDescriptor<CHILD> daoDescriptor,
                  PrimaryKey<PARENT> primaryKey) | 
| DaoImpl(Connection connection,
       String tableName,
       Supplier<T> supplier,
       PrimaryKey<T> primaryKey,
       List<TypedColumn<T>> dataColumns,
       List<JoinColumn<T,?>> joinColumns,
       List<ChildrenDescriptor<T,?>> childrenDescriptors) | 
| SqlBuilder(String table,
          List<TypedColumn<T>> dataColumns,
          List<JoinColumn<T,?>> joinColumns,
          PrimaryKey<T> primaryKey) |