- }
-
- RootStatementContext(final RootStatementContext<A, D, E> original, final QNameModule newQNameModule,
- final CopyType typeOfCopy) {
- super(original);
-
- sourceContext = Preconditions.checkNotNull(original.sourceContext);
- this.argument = original.argument;
-
- final Collection<StatementContextBase<?, ?, ?>> declared = original.declaredSubstatements();
- final Collection<StatementContextBase<?, ?, ?>> effective = original.effectiveSubstatements();
- final Collection<StatementContextBase<?, ?, ?>> buffer = new ArrayList<>(declared.size() + effective.size());
-
- for (final StatementContextBase<?, ?, ?> stmtContext : declared) {
- if (StmtContextUtils.areFeaturesSupported(stmtContext)) {
- buffer.add(stmtContext.createCopy(newQNameModule, this, typeOfCopy));
- }
- }
- for (final StmtContext<?, ?, ?> stmtContext : effective) {
- buffer.add(stmtContext.createCopy(newQNameModule, this, typeOfCopy));
- }
-
- addEffectiveSubstatements(buffer);