LeafrefTypeEffectiveStatementImpl( final StmtContext<String, TypeStatement, EffectiveStatement<String, TypeStatement>> ctx, final LeafrefTypeDefinition baseType) { super(ctx); final RequireInstanceRestrictedTypeBuilder<LeafrefTypeDefinition> builder = RestrictedTypes.newLeafrefBuilder(baseType, AbstractTypeStatementSupport.typeEffectiveSchemaPath(ctx)); for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) { if (stmt instanceof RequireInstanceEffectiveStatement) { builder.setRequireInstance(((RequireInstanceEffectiveStatement) stmt).argument()); } else if (stmt instanceof UnknownSchemaNode) { builder.addUnknownSchemaNode((UnknownSchemaNode)stmt); } } typeDefinition = builder.build(); }