Make getOriginalCtx() give out an Optional
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / StatementContextBase.java
index d394e2715ed7d34146430c3235d33781c07efd5e..6c148f50a679c499b0e242c40de81479a3a5eb49 100644 (file)
@@ -115,12 +115,7 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
                 original.getStatementSourceReference());
         this.rawArgument = original.rawArgument;
         this.copyHistory = CopyHistory.of(copyType, original.getCopyHistory());
-
-        if (original.getOriginalCtx() != null) {
-            this.originalCtx = original.getOriginalCtx();
-        } else {
-            this.originalCtx = original;
-        }
+        this.originalCtx = original.getOriginalCtx().orElse(original);
     }
 
     @Override
@@ -177,8 +172,8 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
     }
 
     @Override
-    public StmtContext<?, ?, ?> getOriginalCtx() {
-        return originalCtx;
+    public Optional<StmtContext<?, ?, ?>> getOriginalCtx() {
+        return Optional.ofNullable(originalCtx);
     }
 
     @Override
@@ -384,9 +379,8 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
 
         final Optional<StatementContextBase<?, ?, ?>> implicitStatement = definition.beforeSubStatementCreated(this,
             offset, def, ref, argument);
-        if(implicitStatement.isPresent()) {
-            final StatementContextBase<?, ?, ?> presentImplicitStmt = implicitStatement.get();
-            return presentImplicitStmt.createSubstatement(offset, def, ref, argument);
+        if (implicitStatement.isPresent()) {
+            return implicitStatement.get().createSubstatement(offset, def, ref, argument);
         }
 
         final StatementContextBase<CA, CD, CE> ret = new SubstatementContext<>(this, def, ref, argument);