code: private static void registerFromClasspath(
              String beanName, String deserName, Map<Class<?>, SerDeserializer> map) throws Exception {
  
          Class<? extends Bean> beanClass = Class.forName(beanName).asSubclass(Bean.class);
          Class<?> deserClass = Class.forName(deserName);
  
          Field field = null;
          SerDeserializer deser;
          try {
              field = deserClass.getDeclaredField("DESERIALIZER");
              if (!Modifier.isStatic(field.getModifiers())) {
                  throw new IllegalStateException("Field " + field + " must be static");
              }
              deser = SerDeserializer.class.cast(field.get(null));
          } catch (NoSuchFieldException ex) {
              Constructor<?> cons = null;
              try {
                  cons = deserClass.getConstructor();
                  deser = SerDeserializer.class.cast(cons.newInstance());
              } catch (NoSuchMethodException ex2) {
                  throw new IllegalStateException(
                          "Class " + deserClass.getName() + " must have field DESERIALIZER or a no-arg constructor");
              } catch (IllegalAccessException ex2) {
                  cons.setAccessible(true);
                  deser = SerDeserializer.class.cast(cons.newInstance());
              }
          } catch (IllegalAccessException ex) {
              field.setAccessible(true);
              deser = SerDeserializer.class.cast(field.get(null));
          }
          map.put(beanClass, deser);
      }
docs: parses and registers the classes