@Override
    public <R, A> R collect(Collector<? super T, A, R> collector) {
        checkConsumed();
        requireNonNull(collector);
        final A value = collector.supplier().get();
        collector.accumulator().accept(value, element);
        // the combiner is never used in a non-parallell stream
        return collector.finisher().apply(value);
    }
Creates and returns an optimized sequential {@link Stream} implementation
with only a single element if the element is non-null. if the element is
null, an empty Stream is returned.

@param element the single element or null
@param <T> the type of the stream elements
@return a singleton sequential stream
common-parent/singletonstream/src/main/java/com/speedment/common/singletonstream/SingletonStream.java