code: public static <T> Stream<T> stream(Optional<T> source) {
          return source.map(Stream::of).orElseGet(Stream::empty);
      }
docs: Adapter to create a stream out of an Optional. Because Java streams can't flatMap functions which
  return Optional. Lame.
  <p>
  If there's something in there, make a stream out of it. If not, make an empty stream.
  
  @param source the Optional to convert to a Stream
  @param <T> the type of objects to be held in the resulting stream
  @return the stream of T's, which will be empty if the source is empty