@Nonnull
    public static <Message extends PMessage<Message, Field>, Field extends PField>
    Stream<Message> stream(InputStream in,
                           Serializer serializer,
                           PMessageDescriptor<Message, Field> descriptor) {
        return StreamSupport.stream(new MessageSpliterator<>(in, serializer, descriptor), false);
    }
@ Nonnull public static < Message extends PMessage < Message , Field > , Field extends PField > Stream < Message > stream ( InputStream in , Serializer serializer , PMessageDescriptor < Message , Field > descriptor ) { return StreamSupport . stream ( new MessageSpliterator < > ( in , serializer , descriptor ) , false ) ; }
Read a input stream containing entries of a given type.

@param in         The input stream to read.
@param serializer The serializer to use.
@param descriptor The descriptor of the entry type of the file.
@param <Message>  The message type.
@param <Field>    The message field type.
@return The stream that reads the file.