@Override
    public Metrics metrics(Pipeline initialPipeline, DbmsType dbmsType) {
        requireNonNull(initialPipeline);
        requireNonNull(dbmsType);
        final AtomicInteger filterCounter = new AtomicInteger();
        traverse(initialPipeline, unused -> filterCounter.getAndIncrement());
        return Metrics.of(filterCounter.get(), filterCounter.get(), 0, 0, 0);
    }
This Optimizer can take care of the case where there is a mix of Field
predicates and other predicates. Field predicates will be optimized and other
predicates will be applied in the stream.

@author Per Minborg
@param <ENTITY> the entity type
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/internal/component/sql/optimizer/InitialFilterOptimizer.java