-Classの新メソッド

public static <T> Class<? extends T> loadClass(String implName, 
    Class<T> interfaceClass) throws ClassNotFoundException {
  ClassLoader loader = interfaceClass.getClassLoader();
  Class<?> clazz = loader.loadClass(implName);
  return clazz.asSubclass(interfaceClass);
}

5.0からのClass#asSubclass()はこんな感じで使えます。Class#cast()と共に、活用しないとワーニング出まくり。