public static <T> T getOptionalInstance(Class<T> interfaceClass, Object... args) {
    """
	Delegates {@link AppFactory#getOptionalInstance(Class, Object...)}.
	
	@param interfaceClass requested interface class,
	@param args optional implementation constructor arguments.
	@return managed instance or null if no implementation found.
	@param <T> managed class implementation.
	@throws BugError if application factory is not bound to current thread.
	@see AppFactory#getOptionalInstance(Class, Object...)
    """
		return getAppFactory().getOptionalInstance(interfaceClass, args);
	}
public static <T> T getOptionalInstance(Class<T> interfaceClass, Object... args) {
		return getAppFactory().getOptionalInstance(interfaceClass, args);
	}
public static < T > T getOptionalInstance ( Class < T > interfaceClass , Object ... args ) { return getAppFactory ( ) . getOptionalInstance ( interfaceClass , args ) ; }
Delegates {@link AppFactory#getOptionalInstance(Class, Object...)}.

@param interfaceClass requested interface class,
@param args optional implementation constructor arguments.
@return managed instance or null if no implementation found.
@param <T> managed class implementation.
@throws BugError if application factory is not bound to current thread.
@see AppFactory#getOptionalInstance(Class, Object...)
Delegates { @link AppFactory#getOptionalInstance ( Class Object ... ) } .