IdentityRefSpecificationEffectiveStatement(final StmtContext<String, IdentityRefSpecification, EffectiveStatement<String, IdentityRefSpecification>> ctx) { super(ctx); final IdentityrefTypeBuilder builder = BaseTypes.identityrefTypeBuilder(ctx.getSchemaPath().get()); for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof BaseEffectiveStatement) { final QName identityQName = ((BaseEffectiveStatement) stmt).argument(); final StmtContext<?, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> identityCtx = ctx.getFromNamespace(IdentityNamespace.class, identityQName); builder.addIdentity((IdentitySchemaNode) identityCtx.buildEffective()); } if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }