public Class<?> getClassByName(final String name) {
    Class<?> cachedClass = classes.get(name);

    if (cachedClass != null) {
      return cachedClass;
    } else {
      for (String current : loaders.keySet()) {
        PluginClassLoader loader = loaders.get(current);

        try {
          cachedClass = loader.findClass(name, false);
        } catch (ClassNotFoundException cnfe) {
        }
        if (cachedClass != null) {
          return cachedClass;
        }
      }
    }
    return null;
  }