@Override
public E buildEffective() {
- final E existing = effectiveInstance;
- return existing != null ? existing : (effectiveInstance = definition.getFactory().createEffective(this));
+ final E existing;
+ return (existing = effectiveInstance) != null ? existing : loadEffective();
+ }
+
+ private E loadEffective() {
+ return effectiveInstance = definition.getFactory().createEffective(this);
}
/**
|| StmtContextUtils.producesDeclared(this, RefineStatement.class)
|| StmtContextUtils.producesDeclared(this, DeviationStatement.class))) {
- return parentPath.createChild(((SchemaNodeIdentifier) argument).getPathFromRoot());
+ return parentPath.createChild(((SchemaNodeIdentifier) argument).getNodeIdentifiers());
}
// FIXME: this does not look right