@Override
    protected Class<?> findClass(String name) throws ClassNotFoundException {
      Class<?> definedClass = null;
      synchronized (classDefinitions) {
        definedClass = getClass(name);
        if (definedClass == null) {
          definedClass = generate(name);
          classDefinitions.put(name, definedClass);
        }
      }
      return definedClass;
    }
Custom class loader which uses BCEL to dynamically generate SerializableImpl or
SerializableImplWithValue.
geode-core/src/test/java/org/apache/geode/internal/util/BlobHelperWithThreadContextClassLoaderTest.java