commons/rmf/bean/src/main/java/org/ldp4j/rdf/bean/spi/RuntimeInstance.java
public static RuntimeInstance getInstance() {
		RuntimeInstance result = RuntimeInstance.CACHED_DELEGATE.get();
		if (result != null) {
			return result;
		}
		synchronized(RuntimeInstance.CACHED_DELEGATE) {
			result=RuntimeInstance.CACHED_DELEGATE.get();
			if(result==null) {
				RuntimeInstance.CACHED_DELEGATE.set(findDelegate());
				result=RuntimeInstance.CACHED_DELEGATE.get();
			}
			return result;
		}
	}
public static RuntimeInstance getInstance() {
		RuntimeInstance result = RuntimeInstance.CACHED_DELEGATE.get();
		if (result != null) {
			return result;
		}
		synchronized(RuntimeInstance.CACHED_DELEGATE) {
			result=RuntimeInstance.CACHED_DELEGATE.get();
			if(result==null) {
				RuntimeInstance.CACHED_DELEGATE.set(findDelegate());
				result=RuntimeInstance.CACHED_DELEGATE.get();
			}
			return result;
		}
	}
Obtain a {@code RuntimeInstance} instance. If an instance had not already
been created and set via {@link #setInstance(RuntimeInstance)}, the first
invocation will create an instance which will then be cached for future
use.

<p>
The algorithm used to locate the RuntimeInstance subclass to use consists
of the following steps:
</p>
<ul>
<li>
If a resource with the name of
{@code META-INF/services/org.centeropenmiddleware.almistack.poc.clients.spi.RuntimeInstance} exists, then
its first line, if present, is used as the UTF-8 encoded name of the
implementation class.</li>
<li>
If the $java.home/lib/poc-business-logic.properties file exists and it is readable by
the {@code java.util.Properties.load(InputStream)} method and it contains
an entry whose key is {@code org.centeropenmiddleware.almistack.poc.clients.spi.RuntimeInstance}, then the
value of that entry is used as the name of the implementation class.</li>
<li>
If a system property with the name
{@code org.centeropenmiddleware.almistack.poc.clients.spi.RuntimeInstance} is defined, then its value is
used as the name of the implementation class.</li>
<li>
Finally, a default implementation class name is used.</li>
</ul>

@return an instance of {@code RuntimeInstance}.