Use EmptyLeafEffectiveStatement in copyLeaf()
[yangtools.git] / model / yang-model-ri / src / main / java / org / opendaylight / yangtools / yang / model / ri / stmt / EffectiveStatements.java
index 1f70204a9cbec749c0e6fed405069698e509ac0e..93b310707bda294aef1e521382cc462c768481f4 100644 (file)
@@ -565,7 +565,9 @@ public final class EffectiveStatements {
     public static LeafEffectiveStatement copyLeaf(final LeafEffectiveStatement original, final QName argument,
             final int flags) {
         checkArgument(original instanceof AbstractLeafEffectiveStatement, "Unsupported original %s", original);
-        return new RegularLeafEffectiveStatement((AbstractLeafEffectiveStatement) original, argument, flags);
+        final var orig = (AbstractLeafEffectiveStatement) original;
+        return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags)
+            : new RegularLeafEffectiveStatement(orig, argument, flags);
     }
 
     public static LeafEffectiveStatement createLeaf(final LeafStatement declared, final QName argument, final int flags,