code: @Override
    protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
      Class<?> clazz = findLoadedClass(name);
      if (clazz == null) {
        if (inExceptedPackage(name)) {
          clazz = super.loadClass(name, false);
        } else {
          try {
            clazz = findClass(name);          
          } catch (ClassNotFoundException e) {
            clazz = super.loadClass(name, false);
            if (!clazz.isAnnotation()) { // Annotations are always safe to load
              logger.log(Type.WARN, String.format(
                  "Class %s is used in Gin, but not available in GWT client code.", name));
            }
          }
        }
      }
  
      if (resolve) {
        resolveClass(clazz);
      }
  
      return clazz;
    }
docs: @inheritDoc
  
  Gin class loading implementation, making sure that classes are loaded consistently and can be
  GWT generated or super-source classes. See description {@link GinBridgeClassLoader above}.