docs: private static AbstractInvokable loadAndInstantiateInvokable(
  		ClassLoader classLoader,
  		String className,
  		Environment environment) throws Throwable {
  
  		final Class<? extends AbstractInvokable> invokableClass;
  		try {
  			invokableClass = Class.forName(className, true, classLoader)
  				.asSubclass(AbstractInvokable.class);
  		} catch (Throwable t) {
  			throw new Exception("Could not load the task's invokable class.", t);
  		}
  
  		Constructor<? extends AbstractInvokable> statelessCtor;
  
  		try {
  			statelessCtor = invokableClass.getConstructor(Environment.class);
  		} catch (NoSuchMethodException ee) {
  			throw new FlinkException("Task misses proper constructor", ee);
  		}
  
  		// instantiate the class
  		try {
  			//noinspection ConstantConditions  --> cannot happen
  			return statelessCtor.newInstance(environment);
  		} catch (InvocationTargetException e) {
  			// directly forward exceptions from the eager initialization
  			throw e.getTargetException();
  		} catch (Exception e) {
  			throw new FlinkException("Could not instantiate the task's invokable class.", e);
  		}
  	}