public synchronized Class<?> getCompiledClass(String name) {
    try {
      return Class.forName(name);
    } catch (ClassNotFoundException e) {
      try {
        return loader.loadClass(name);
      } catch (ClassNotFoundException ex) {
        return cache.get(name);
      }
    }
  }