private static DetachedVertexProperty detachVertexProperty(final VertexProperty vp) {
        Map<String, Object> properties = new HashMap<>();
        vp.properties().forEachRemaining(p -> properties.put(((Property) p).key(), ((Property) p).value()));
        return new DetachedVertexProperty(vp.id(), vp.label(), vp.value(), properties, vp.element());
    }
Some implementations of {@link VertexProperty} are not {@code Serializable} and may lead to test failures when passed as
parameters. One such instance is {@code HadoopVertexProperty}. This method detaches vertex properties as tests
should never require implementation-specific elements.
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java