code: public static <T extends Trainable> T load(Class<T> aClass, String storageName, Configuration configuration) {
          try {
              Constructor<T> constructor = aClass.getDeclaredConstructor(String.class, Configuration.class);
              constructor.setAccessible(true);
              return constructor.newInstance(storageName, configuration);
          }
          catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException ex) {
              throw new RuntimeException(ex);
          }
      }
docs: Loads an algorithm from the storage.
  
  @param <T>
  @param aClass
  @param storageName
  @param configuration
  @return