+ if (StmtContextUtils.producesDeclared(nextStmtCtx.getParentContext(), ChoiceStatement.class)
+ && isSupportedAsShorthandCase(nextStmtCtx)) {
+ qNamesFromRoot.add(qname);
+ }
+ qNamesFromRoot.add(qname);
+ } else if (nextStmtArgument instanceof String) {
+ // FIXME: This may yield illegal argument exceptions
+ StatementContextBase<?, ?, ?> originalCtx = ctx
+ .getOriginalCtx();
+ final QName qName = (originalCtx != null) ? qNameFromArgument(
+ originalCtx, (String) nextStmtArgument)
+ : qNameFromArgument(ctx, (String) nextStmtArgument);
+ qNamesFromRoot.add(qName);
+ } else if ((StmtContextUtils.producesDeclared(nextStmtCtx, AugmentStatement.class)
+ || StmtContextUtils.producesDeclared(nextStmtCtx, RefineStatement.class))
+ && nextStmtArgument instanceof SchemaNodeIdentifier) {
+ addQNamesFromSchemaNodeIdentifierToList(qNamesFromRoot, (SchemaNodeIdentifier) nextStmtArgument);
+ } else if (isUnknownNode(nextStmtCtx)) {
+ qNamesFromRoot.add(nextStmtCtx.getPublicDefinition().getStatementName());
+ } else {
+ return SchemaPath.SAME;