@Test
    @LoadGraphWith(CREW)
    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_ADD_VERTICES)
    @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_ADD_EDGES)
    @FeatureRequirement(featureClass = Graph.Features.VertexFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
    @FeatureRequirement(featureClass = Graph.Features.EdgeFeatures.class, feature = FEATURE_USER_SUPPLIED_IDS)
    public void g_withSideEffectXsgX_V_hasXname_danielXout_capXsgX() throws Exception {
        final Configuration config = graphProvider.newGraphConfiguration("subgraph", this.getClass(), name.getMethodName(), CREW);
        graphProvider.clear(config);
        final Graph subgraph = graphProvider.openTestGraph(config);
        /////
        final Traversal<Vertex, Vertex> traversal = get_g_withSideEffectXsgX_V_hasXname_danielX_outE_subgraphXsgX_inV(subgraph);
        printTraversalForm(traversal);
        traversal.iterate();
        assertVertexEdgeCounts(subgraph, 3, 2);

        final List<String> locations = subgraph.traversal().V().has("name", "daniel").<String>values("location").toList();
        assertThat(locations, contains("spremberg", "kaiserslautern", "aachen"));

        graphProvider.clear(subgraph, config);
    }
@author Stephen Mallette (http://stephen.genoprime.com)
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/sideEffect/SubgraphTest.java