@Test
        @FeatureRequirement(featureClass = Graph.Features.VariableFeatures.class, feature = Graph.Features.VariableFeatures.FEATURE_VARIABLES)
        @FeatureRequirement(featureClass = Graph.Features.VariableFeatures.class, feature = Graph.Features.VariableFeatures.FEATURE_STRING_VALUES)
        public void shouldHoldVariableNone() {
            final Graph.Variables variables = graph.variables();
            final Map<String, Object> mapOfAnnotations = variables.asMap();
            assertNotNull(mapOfAnnotations);
            assertEquals(0, mapOfAnnotations.size());
            try {
                mapOfAnnotations.put("something", "can't do this");
                fail("Should not be able to mutate the Map returned from Graph.variables.getAnnotations()");
            } catch (UnsupportedOperationException ignored) {

            }
        }
Ensure that the {@link Graph.Variables#asMap()} method returns some basics. Other tests will enforce that all
types are properly covered in {@link Graph.Variables}.
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/structure/VariablesTest.java