Use instanceof pattern in constructor 47/106447/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 12 Jun 2023 15:13:04 +0000 (17:13 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 12 Jun 2023 15:13:04 +0000 (17:13 +0200)
Take advantage of an instanceof pattern, so we eliminate an explicit
cast.

Change-Id: I5bf63332ec2021c79c27b3e8746b42aeb6f66376
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java

index 57ab071a6e87f1d0fb1a76ed869336d604c85304..820e7001969884fda9fb7242a972a737070a038f 100644 (file)
@@ -72,10 +72,12 @@ public final class NormalizedNodeStreamWriterStack implements LeafrefResolver {
     private NormalizedNodeStreamWriterStack(final SchemaInferenceStack dataTree) {
         this.dataTree = requireNonNull(dataTree);
         if (!dataTree.isEmpty()) {
-            final EffectiveStatement<?, ?> current = dataTree.currentStatement();
-            checkArgument(current instanceof DataNodeContainer, "Cannot instantiate on %s", current);
-
-            root = (DataNodeContainer) current;
+            final var current = dataTree.currentStatement();
+            if (current instanceof DataNodeContainer container) {
+                root = container;
+            } else {
+                throw new IllegalArgumentException("Cannot instantiate on " + current);
+            }
         } else {
             root = dataTree.getEffectiveModelContext();
         }