@Test
    public void testFromV1_2() throws Exception {
        if (!v1_2) {
            return;
        }
        
        final Gson gson = new Gson();
        final JsonElement jsonElement = getParseElements();
        
        /**
         * @see Gson#fromJson(Reader, Class)
         * @see Gson#fromJson(Reader, InterceptPoint)
         * @see Gson#fromJson(JsonElement, Class)
         * @see Gson#fromJson(JsonElement, InterceptPoint)
         */
        gson.fromJson(new StringReader(json), (Class<?>) String.class);
        gson.fromJson(new StringReader(json), (Type) String.class);
        gson.fromJson(jsonElement, String.class);
        gson.fromJson(jsonElement, (Type) String.class);

        Method fromJson3 = Gson.class.getDeclaredMethod("fromJson", Reader.class, Class.class);
        Method fromJson4 = Gson.class.getDeclaredMethod("fromJson", Reader.class, Type.class);
        Method fromJson6 = Gson.class.getDeclaredMethod("fromJson", JsonElement.class, Class.class);
        Method fromJson7 = Gson.class.getDeclaredMethod("fromJson", JsonElement.class, Type.class);

        /**
         * @see Gson#toJson(Object, Appendable)
         * @see Gson#toJson(Object, InterceptPoint, Appendable)
         * @see Gson#toJson(JsonElement)
         * @see Gson#toJson(JsonElement, Appendable)
         */
        gson.toJson(java, new StringWriter());
        gson.toJson(java, String.class, new StringWriter());
        gson.toJson(jsonElement);
        gson.toJson(jsonElement, new StringWriter());

        Method toJson3 = Gson.class.getDeclaredMethod("toJson", Object.class, Appendable.class);
        Method toJson4 = Gson.class.getDeclaredMethod("toJson", Object.class, Type.class, Appendable.class);
        Method toJson6 = Gson.class.getDeclaredMethod("toJson", JsonElement.class);
        Method toJson7 = Gson.class.getDeclaredMethod("toJson", JsonElement.class, Appendable.class);

        PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
        verifier.printCache();

        verifier.verifyTrace(event(serviceType, fromJson3),
                event(serviceType, fromJson4),
                event(serviceType, fromJson6),
                event(serviceType, fromJson7));
        
        verifier.verifyTrace(event(serviceType, toJson3),
                event(serviceType, toJson4),
                event(serviceType, toJson6, expectedAnnotation),
                event(serviceType, toJson7));

        // No more traces
        verifier.verifyTraceCount(0);
    }
@see Gson#toJson(Object)
@see Gson#toJson(Object, InterceptPoint)
agent-module/plugins-it/gson-it/src/test/java/com/navercorp/pinpoint/it/plugin/gson/GsonIT.java