CompositeContext parent = resolver.getCurrentContext();
if (parent == null) {
return null;// FIXME semantic here means required is not followed
}
if (!(parent instanceof AutowireContext)) {
ObjectCreationException e = new ObjectCreationException("Parent does not implement "
+ AutowireContext.class.getName());
e.setIdentifier(parent.getName());
throw e;
}
AutowireContext ctx = (AutowireContext) parent;
AssemblyContext assemblyContext = ctx.resolveInstance(AssemblyContext.class);
return SDOUtil.createDataFactory(assemblyContext.getTypeHelper());