public static <TT> CollectionStream<TT> of(final Collection<TT> coll, final boolean forceCopy) {
        return new CollectionStream<>((Collection<Object>) coll, forceCopy);
    }
creates CollectionStream with a Collection as its source
if forceCopy is true, then given coll is copied even if only read operations are performed on it.
main/src/main/java/cgeo/geocaching/utils/CollectionStream.java