framework/application/api/src/main/java/org/ldp4j/application/spi/RuntimeDelegate.java
public static void setInstance(final RuntimeDelegate delegate) {
		SecurityManager security = getSecurityManager();
		if (security != null) {
			security.checkPermission(SUPPRESS_ACCESS_CHECKS_PERMISSION);
		}
		synchronized(RuntimeDelegate.CACHED_DELEGATE) {
			RuntimeDelegate.CACHED_DELEGATE.set(delegate);
		}
	}
public static void setInstance(final RuntimeDelegate delegate) {
		SecurityManager security = getSecurityManager();
		if (security != null) {
			security.checkPermission(SUPPRESS_ACCESS_CHECKS_PERMISSION);
		}
		synchronized(RuntimeDelegate.CACHED_DELEGATE) {
			RuntimeDelegate.CACHED_DELEGATE.set(delegate);
		}
	}
Set the {@code RuntimeDelegate} that will be used by clients. If this method
is not called prior to {@link RuntimeDelegate#getInstance()} then an
implementation will be sought as described in
{@link RuntimeDelegate#getInstance()}.

@param delegate
the {@code RuntimeDelegate} runtime delegate instance.
@throws SecurityException
if there is a security manager and the permission
ReflectPermission("suppressAccessChecks") has not been
granted.