@Override
    public Configuration getConfiguration() {
        final Configuration conf = super.getConfiguration();
        conf.setProperty(GRAPH_COMPUTER, this.computer.getGraphComputerClass().getCanonicalName());
        if (-1 != this.computer.getWorkers())
            conf.setProperty(WORKERS, this.computer.getWorkers());
        if (null != this.computer.getPersist())
            conf.setProperty(PERSIST, this.computer.getPersist().name());
        if (null != this.computer.getResultGraph())
            conf.setProperty(RESULT, this.computer.getResultGraph().name());
        if (null != this.computer.getVertices())
            conf.setProperty(VERTICES, this.computer.getVertices());
        if (null != this.computer.getEdges())
            conf.setProperty(EDGES, this.computer.getEdges());
        this.computer.getConfiguration().forEach(conf::setProperty);
        return conf;
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/strategy/decoration/VertexProgramStrategy.java