private ENTITY persist(ENTITY entity, Predicate<Field<ENTITY>> includedFields, String insertStatement) {
        final List<Object> values = fields.get()
            .filter(includedFields)
            .map(f -> toDatabaseType(f, entity))
            .collect(toList());

        try {
            operationHandler.executeInsert(dbms, insertStatement, values, generatedFields, newGeneratedKeyConsumer(entity));
            return entity;
        } catch (final SQLException ex) {
            throw new SpeedmentException(ex);
        }
    }
Default implementation of the {@link SqlPersistence}-interface.

@param <ENTITY>  the entity type

@author  Emil Forslund
@author  Dan Lawesson
@since   3.0.1
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/internal/component/sql/SqlPersistenceProviderImpl.java