private static DetachedEdge detachEdge(final Edge edge) {
        return new DetachedEdge(edge.id(), edge.label(), IteratorUtils.asList(edge.properties()),
                edge.outVertex().id(), edge.outVertex().label(), edge.inVertex().id(), edge.inVertex().label());
    }
Some implementations of {@link Edge} are not {@code Serializable} and may lead to test failures when passed as
parameters. One such instance is {@code HadoopEdge}. This method detaches edges as tests should never
require implementation-specific elements.
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java