@Override
    public Vertex readVertex(final InputStream inputStream,
                             final Function<Attachable<Vertex>, Vertex> vertexAttachMethod,
                             final Function<Attachable<Edge>, Edge> edgeAttachMethod,
                             final Direction attachEdgesOfThisDirection) throws IOException {
        final Input input = new Input(inputStream);
        return readVertexInternal(vertexAttachMethod, edgeAttachMethod, attachEdgesOfThisDirection, input);
    }
Read a {@link Vertex} from output generated by any of the {@link GryoWriter} {@code writeVertex} or
{@code writeVertices} methods or by {@link GryoWriter#writeGraph(OutputStream, Graph)}.

@param inputStream                a stream containing at least one {@link Vertex} as defined by the accompanying
                                  {@link GraphWriter#writeVertices(OutputStream, Iterator, Direction)} method.
@param vertexAttachMethod         a function that creates re-attaches a {@link Vertex} to a {@link Host} object.
@param edgeAttachMethod           a function that creates re-attaches a {@link Edge} to a {@link Host} object.
@param attachEdgesOfThisDirection only edges of this direction are passed to the {@code edgeMaker}.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoReader.java