private void configureForRead(final Graph graph) {
        final String inputFormatClassNameOrKeyword = parameters.get(IO.reader, this::detectReader).get(0);
        String inputFormatClassName;
        if (inputFormatClassNameOrKeyword.equals(IO.graphson))
            inputFormatClassName = GraphSONInputFormat.class.getName();
        else if (inputFormatClassNameOrKeyword.equals(IO.gryo))
            inputFormatClassName = GryoInputFormat.class.getName();
        else if (inputFormatClassNameOrKeyword.equals(IO.graphml))
            throw new IllegalStateException("GraphML is not a supported file format for OLAP");
        else
            inputFormatClassName = inputFormatClassNameOrKeyword;

        graph.configuration().setProperty(Constants.GREMLIN_HADOOP_GRAPH_READER, inputFormatClassName);
        graph.configuration().setProperty(Constants.GREMLIN_HADOOP_INPUT_LOCATION, file);

        addParametersToConfiguration(graph);
    }
An OLAP oriented step for doing IO operations with {@link GraphTraversalSource#io(String)} which uses the
{@link CloneVertexProgram} for its implementation. Standard Hadoop OLAP configurations can be passed using the
{@link GraphTraversal#with(String, Object)} step modulator as all options aside from those in {@link IO} will be
transferred.

@author Stephen Mallette (http://stephen.genoprime.com)
hadoop-gremlin/src/main/java/org/apache/tinkerpop/gremlin/hadoop/process/computer/traversal/step/sideEffect/HadoopIoStep.java