class AbstractMongoDao extends AbstractDao<M,P,K,I> {

    @Override
    public void initTable() {
        for (IndexModel index : getIndexes()) {
            getCollection().createIndex(index.getKeys(), index.getOptions());
        }
    }

    public  AbstractMongoDao(Class<M> modelClass, Class<P> partialClass, MongoCollection<Document> collection);
    public  AbstractMongoDao(Class<M> modelClass, Class<P> partialClass, MongoCollection<Document> collection, ObjectMapper objectMapper, ObjectMapper extendedJsonMapper);
    public  AbstractMongoDao(Class<M> modelClass, Class<P> partialClass, MongoCollection<Document> collection,
                            DocumentMapper<M> modelMapper, DocumentMapper<P> partialMapper);

}