test_class.declarator: customizer
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private GsonBuilderCustomizer customizer;
test_class.type: GsonBuilderCustomizer
test_class.var_name: customizer
test_class.declarator: service
test_class.modifier: private
test_class.original_string: private DefaultGsonService service;
test_class.type: DefaultGsonService
test_class.var_name: service
test_class.file: gson/core/src/test/java/org/microbule/gson/core/DefaultGsonServiceTest.java
test_class.identifier: DefaultGsonServiceTest
test_class.superclass: extends MockObjectTestCase
test_case.body: @Test
      public void testDoWithGson() {
          service.doWithGson(gson -> {
              assertTrue(gson.htmlSafe());
          });
      }
test_case.class_method_signature: DefaultGsonServiceTest.testDoWithGson()
test_case.full_signature: @Test public void testDoWithGson()
test_case.identifier: testDoWithGson
test_case.invocations: doWithGson assertTrue htmlSafe
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDoWithGson()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(DefaultGsonService.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(DefaultGsonService.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: customizers = new CopyOnWriteArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<GsonBuilderCustomizer> customizers = new CopyOnWriteArrayList<>();
focal_class.type: List<GsonBuilderCustomizer>
focal_class.var_name: customizers
focal_class.declarator: gson = new AtomicReference<>(new GsonBuilder().create())
focal_class.modifier: private final
focal_class.original_string: private final AtomicReference<Gson> gson = new AtomicReference<>(new GsonBuilder().create());
focal_class.type: AtomicReference<Gson>
focal_class.var_name: gson
focal_class.file: gson/core/src/main/java/org/microbule/gson/core/DefaultGsonService.java
focal_class.identifier: DefaultGsonService
focal_class.interfaces: implements GsonService
focal_class.class_method_signature: DefaultGsonService.DefaultGsonService(MicrobuleContainer container)
focal_class.full_signature: @Inject public  DefaultGsonService(MicrobuleContainer container)
focal_class.identifier: DefaultGsonService
focal_class.modifiers: @Inject public
focal_class.parameters: (MicrobuleContainer container)
focal_class.signature:  DefaultGsonService(MicrobuleContainer container)
focal_class.class_method_signature: DefaultGsonService.append(Object src, A writer)
focal_class.full_signature: @Override public A append(Object src, A writer)
focal_class.identifier: append
focal_class.modifiers: @Override public
focal_class.parameters: (Object src, A writer)
focal_class.return: A
focal_class.signature: A append(Object src, A writer)
focal_class.class_method_signature: DefaultGsonService.append(JsonElement json, A writer)
focal_class.full_signature: @Override public A append(JsonElement json, A writer)
focal_class.identifier: append
focal_class.modifiers: @Override public
focal_class.parameters: (JsonElement json, A writer)
focal_class.return: A
focal_class.signature: A append(JsonElement json, A writer)
focal_class.class_method_signature: DefaultGsonService.append(Object src, Type type, A writer)
focal_class.full_signature: @Override public A append(Object src, Type type, A writer)
focal_class.identifier: append
focal_class.modifiers: @Override public
focal_class.parameters: (Object src, Type type, A writer)
focal_class.return: A
focal_class.signature: A append(Object src, Type type, A writer)
focal_class.class_method_signature: DefaultGsonService.createWithGson(Function<Gson, T> function)
focal_class.full_signature: @Override public T createWithGson(Function<Gson, T> function)
focal_class.identifier: createWithGson
focal_class.modifiers: @Override public
focal_class.parameters: (Function<Gson, T> function)
focal_class.return: T
focal_class.signature: T createWithGson(Function<Gson, T> function)
focal_class.class_method_signature: DefaultGsonService.doWithGson(Consumer<Gson> consumer)
focal_class.full_signature: @Override public void doWithGson(Consumer<Gson> consumer)
focal_class.identifier: doWithGson
focal_class.modifiers: @Override public
focal_class.parameters: (Consumer<Gson> consumer)
focal_class.return: void
focal_class.signature: void doWithGson(Consumer<Gson> consumer)
focal_class.class_method_signature: DefaultGsonService.parse(Reader json, Type type)
focal_class.full_signature: @Override public T parse(Reader json, Type type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (Reader json, Type type)
focal_class.return: T
focal_class.signature: T parse(Reader json, Type type)
focal_class.class_method_signature: DefaultGsonService.parse(JsonElement json, Class<T> type)
focal_class.full_signature: @Override public T parse(JsonElement json, Class<T> type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (JsonElement json, Class<T> type)
focal_class.return: T
focal_class.signature: T parse(JsonElement json, Class<T> type)
focal_class.class_method_signature: DefaultGsonService.parse(JsonElement json, Type type)
focal_class.full_signature: @Override public T parse(JsonElement json, Type type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (JsonElement json, Type type)
focal_class.return: T
focal_class.signature: T parse(JsonElement json, Type type)
focal_class.class_method_signature: DefaultGsonService.parse(String json, Class<T> type)
focal_class.full_signature: @Override public T parse(String json, Class<T> type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (String json, Class<T> type)
focal_class.return: T
focal_class.signature: T parse(String json, Class<T> type)
focal_class.class_method_signature: DefaultGsonService.parse(String json, Type type)
focal_class.full_signature: @Override public T parse(String json, Type type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (String json, Type type)
focal_class.return: T
focal_class.signature: T parse(String json, Type type)
focal_class.class_method_signature: DefaultGsonService.parse(Reader json, Class<T> type)
focal_class.full_signature: @Override public T parse(Reader json, Class<T> type)
focal_class.identifier: parse
focal_class.modifiers: @Override public
focal_class.parameters: (Reader json, Class<T> type)
focal_class.return: T
focal_class.signature: T parse(Reader json, Class<T> type)
focal_class.class_method_signature: DefaultGsonService.toJson(Object src)
focal_class.full_signature: @Override @SuppressWarnings("unchecked") public T toJson(Object src)
focal_class.identifier: toJson
focal_class.modifiers: @Override @SuppressWarnings("unchecked") public
focal_class.parameters: (Object src)
focal_class.return: T
focal_class.signature: T toJson(Object src)
focal_class.class_method_signature: DefaultGsonService.toJson(Object src, Type type)
focal_class.full_signature: @Override @SuppressWarnings("unchecked") public T toJson(Object src, Type type)
focal_class.identifier: toJson
focal_class.modifiers: @Override @SuppressWarnings("unchecked") public
focal_class.parameters: (Object src, Type type)
focal_class.return: T
focal_class.signature: T toJson(Object src, Type type)
focal_class.class_method_signature: DefaultGsonService.toJsonString(Object src)
focal_class.full_signature: @Override public String toJsonString(Object src)
focal_class.identifier: toJsonString
focal_class.modifiers: @Override public
focal_class.parameters: (Object src)
focal_class.return: String
focal_class.signature: String toJsonString(Object src)
focal_class.class_method_signature: DefaultGsonService.toJsonString(JsonElement json)
focal_class.full_signature: @Override public String toJsonString(JsonElement json)
focal_class.identifier: toJsonString
focal_class.modifiers: @Override public
focal_class.parameters: (JsonElement json)
focal_class.return: String
focal_class.signature: String toJsonString(JsonElement json)
focal_class.class_method_signature: DefaultGsonService.toJsonString(Object src, Type type)
focal_class.full_signature: @Override public String toJsonString(Object src, Type type)
focal_class.identifier: toJsonString
focal_class.modifiers: @Override public
focal_class.parameters: (Object src, Type type)
focal_class.return: String
focal_class.signature: String toJsonString(Object src, Type type)
focal_class.class_method_signature: DefaultGsonService.getGson()
focal_class.full_signature:  Gson getGson()
focal_class.identifier: getGson
focal_class.parameters: ()
focal_class.return: Gson
focal_class.signature: Gson getGson()
focal_method.body: @Override
      public void doWithGson(Consumer<Gson> consumer) {
          consumer.accept(getGson());
      }
focal_method.class_method_signature: DefaultGsonService.doWithGson(Consumer<Gson> consumer)
focal_method.full_signature: @Override public void doWithGson(Consumer<Gson> consumer)
focal_method.identifier: doWithGson
focal_method.invocations: accept getGson
focal_method.modifiers: @Override public
focal_method.parameters: (Consumer<Gson> consumer)
focal_method.return: void
focal_method.signature: void doWithGson(Consumer<Gson> consumer)