public Object getValue() throws IllegalStateException, IllegalArgumentException {
final ClassLoader oldCL = getContextClassLoader();
try {
final ClassLoader integrationCL = new DelegateClassLoader(getClassLoader(),oldCL);
setContextClassLoader(integrationCL);
final Referenceable referenceable = getReferenceable(integrationCL);
final Class<?> clazz = Class.forName(referenceable.getReference().getFactoryClassName(), true, integrationCL);
final ObjectFactory factory = (ObjectFactory)clazz.newInstance();
return factory.getObjectInstance(referenceable.getReference(), null, null, null);
} catch (final Exception e) {
throw new RuntimeException(e);
} finally {
setContextClassLoader(oldCL);
}