@Override
        public void serialize(final TraversalStrategy traversalStrategy, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider)
                throws IOException {
            jsonGenerator.writeStartObject();
            final String fqcn = traversalStrategy instanceof TraversalStrategyProxy ?
                    ((TraversalStrategyProxy) traversalStrategy).getStrategyClass().getName() :
                    traversalStrategy.getClass().getName();
            jsonGenerator.writeStringField("fqcn", fqcn);
            jsonGenerator.writeObjectFieldStart("conf");
            for (final Map.Entry<Object, Object> entry : ConfigurationConverter.getMap(traversalStrategy.getConfiguration()).entrySet()) {
                jsonGenerator.writeObjectField((String) entry.getKey(), entry.getValue());
            }
            jsonGenerator.writeEndObject();
            jsonGenerator.writeEndObject();
        }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/TraversalSerializersV2.java