test_class.declarator: POLYMORPHIC_CONFIG = new PersistenceConfig() {
  
          @Override
          public Class<? extends Annotation> annotationType() {
              return PersistenceConfig.class;
          }
  
          @Override
          public Class<? extends PojoSerializer> serializer() {
              return KryoSerializer.class;
          }
  
          @Override
          public boolean polymorphic() {
              return true;
          }
      }
test_class.original_string: PersistenceConfig POLYMORPHIC_CONFIG = new PersistenceConfig() {
  
          @Override
          public Class<? extends Annotation> annotationType() {
              return PersistenceConfig.class;
          }
  
          @Override
          public Class<? extends PojoSerializer> serializer() {
              return KryoSerializer.class;
          }
  
          @Override
          public boolean polymorphic() {
              return true;
          }
      };
test_class.type: PersistenceConfig
test_class.var_name: POLYMORPHIC_CONFIG
test_class.file: code/src/test/java/com/googlecode/cqengine/persistence/support/serialization/KryoSerializerTest.java
test_class.identifier: KryoSerializerTest
test_case.body: @Test
      public void testPolymorphicSerialization_WithPolymorphicConfig() {
          KryoSerializer.validateObjectIsRoundTripSerializable(1, Number.class, POLYMORPHIC_CONFIG);
      }
test_case.class_method_signature: KryoSerializerTest.testPolymorphicSerialization_WithPolymorphicConfig()
test_case.full_signature: @Test public void testPolymorphicSerialization_WithPolymorphicConfig()
test_case.identifier: testPolymorphicSerialization_WithPolymorphicConfig
test_case.invocations: validateObjectIsRoundTripSerializable
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPolymorphicSerialization_WithPolymorphicConfig()
focal_class.declarator: objectType
focal_class.modifier: protected final
focal_class.original_string: protected final Class<O> objectType;
focal_class.type: Class<O>
focal_class.var_name: objectType
focal_class.declarator: polymorphic
focal_class.modifier: protected final
focal_class.original_string: protected final boolean polymorphic;
focal_class.type: boolean
focal_class.var_name: polymorphic
focal_class.declarator: kryoCache = new ThreadLocal<Kryo>() {
          @Override
          protected Kryo initialValue() {
              return createKryo(objectType);
          }
      }
focal_class.modifier: protected final
focal_class.original_string: protected final ThreadLocal<Kryo> kryoCache = new ThreadLocal<Kryo>() {
          @Override
          protected Kryo initialValue() {
              return createKryo(objectType);
          }
      };
focal_class.type: ThreadLocal<Kryo>
focal_class.var_name: kryoCache
focal_class.file: code/src/main/java/com/googlecode/cqengine/persistence/support/serialization/KryoSerializer.java
focal_class.identifier: KryoSerializer
focal_class.interfaces: implements PojoSerializer<O>
focal_class.class_method_signature: KryoSerializer.KryoSerializer(Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.full_signature: public  KryoSerializer(Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.identifier: KryoSerializer
focal_class.modifiers: public
focal_class.parameters: (Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.signature:  KryoSerializer(Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.class_method_signature: KryoSerializer.createKryo(Class<?> objectType)
focal_class.full_signature: @SuppressWarnings({"ArraysAsListWithZeroOrOneArgument", "WeakerAccess"}) protected Kryo createKryo(Class<?> objectType)
focal_class.identifier: createKryo
focal_class.modifiers: @SuppressWarnings({"ArraysAsListWithZeroOrOneArgument", "WeakerAccess"}) protected
focal_class.parameters: (Class<?> objectType)
focal_class.return: Kryo
focal_class.signature: Kryo createKryo(Class<?> objectType)
focal_class.class_method_signature: KryoSerializer.serialize(O object)
focal_class.full_signature: @Override public byte[] serialize(O object)
focal_class.identifier: serialize
focal_class.modifiers: @Override public
focal_class.parameters: (O object)
focal_class.return: byte[]
focal_class.signature: byte[] serialize(O object)
focal_class.class_method_signature: KryoSerializer.deserialize(byte[] bytes)
focal_class.full_signature: @Override @SuppressWarnings("unchecked") public O deserialize(byte[] bytes)
focal_class.identifier: deserialize
focal_class.modifiers: @Override @SuppressWarnings("unchecked") public
focal_class.parameters: (byte[] bytes)
focal_class.return: O
focal_class.signature: O deserialize(byte[] bytes)
focal_class.class_method_signature: KryoSerializer.validateObjectIsRoundTripSerializable(O candidatePojo)
focal_class.full_signature: @SuppressWarnings("unchecked") public static void validateObjectIsRoundTripSerializable(O candidatePojo)
focal_class.identifier: validateObjectIsRoundTripSerializable
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (O candidatePojo)
focal_class.return: void
focal_class.signature: void validateObjectIsRoundTripSerializable(O candidatePojo)
focal_class.class_method_signature: KryoSerializer.validateObjectIsRoundTripSerializable(O candidatePojo, Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.full_signature: static void validateObjectIsRoundTripSerializable(O candidatePojo, Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.identifier: validateObjectIsRoundTripSerializable
focal_class.modifiers: static
focal_class.parameters: (O candidatePojo, Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.return: void
focal_class.signature: void validateObjectIsRoundTripSerializable(O candidatePojo, Class<O> objectType, PersistenceConfig persistenceConfig)
focal_class.class_method_signature: KryoSerializer.validateObjectEquality(Object candidate, Object deserializedPojo)
focal_class.full_signature: static void validateObjectEquality(Object candidate, Object deserializedPojo)
focal_class.identifier: validateObjectEquality
focal_class.modifiers: static
focal_class.parameters: (Object candidate, Object deserializedPojo)
focal_class.return: void
focal_class.signature: void validateObjectEquality(Object candidate, Object deserializedPojo)
focal_class.class_method_signature: KryoSerializer.validateHashCodeEquality(Object candidate, Object deserializedPojo)
focal_class.full_signature: static void validateHashCodeEquality(Object candidate, Object deserializedPojo)
focal_class.identifier: validateHashCodeEquality
focal_class.modifiers: static
focal_class.parameters: (Object candidate, Object deserializedPojo)
focal_class.return: void
focal_class.signature: void validateHashCodeEquality(Object candidate, Object deserializedPojo)
focal_method.body: @SuppressWarnings("unchecked")
      public static <O> void validateObjectIsRoundTripSerializable(O candidatePojo) {
          Class<O> objectType = (Class<O>) candidatePojo.getClass();
          KryoSerializer.validateObjectIsRoundTripSerializable(candidatePojo, objectType, PersistenceConfig.DEFAULT_CONFIG);
      }
focal_method.class_method_signature: KryoSerializer.validateObjectIsRoundTripSerializable(O candidatePojo)
focal_method.full_signature: @SuppressWarnings("unchecked") public static void validateObjectIsRoundTripSerializable(O candidatePojo)
focal_method.identifier: validateObjectIsRoundTripSerializable
focal_method.invocations: getClass validateObjectIsRoundTripSerializable
focal_method.modifiers: @SuppressWarnings("unchecked") public static
focal_method.parameters: (O candidatePojo)
focal_method.return: void
focal_method.signature: void validateObjectIsRoundTripSerializable(O candidatePojo)