Further optimize OrderedBy effective statement dispatch
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / ordered_by / OrderedByStatementSupport.java
index e1f02af77bed1cf8c7dd29b2430db782f85192df..223b6a44ca3fa7144cc360b0b9802d849a5a050f 100644 (file)
@@ -97,23 +97,13 @@ public final class OrderedByStatementSupport
             final OrderedByStatement declared) {
         // Aggressively reuse effective instances which are backed by the corresponding empty declared instance, as this
         // is the case unless there is a weird extension in use.
-        final String argument = declared.getValue();
-        switch (argument) {
-            case "system":
-                if (EMPTY_SYSTEM_DECL.equals(declared)) {
-                    return EMPTY_SYSTEM_EFF;
-                }
-                break;
-            case "user":
-                if (EMPTY_USER_DECL.equals(declared)) {
-                    return EMPTY_USER_EFF;
-                }
-                break;
-            default:
-                throw new IllegalStateException("Unhandled argument " + argument);
+        if (EMPTY_USER_DECL.equals(declared)) {
+            // Most likely to be seen (as system is the default)
+            return EMPTY_USER_EFF;
+        } else if (EMPTY_SYSTEM_DECL.equals(declared)) {
+            return EMPTY_SYSTEM_EFF;
+        } else {
+            return new EmptyOrderedByEffectiveStatement(declared);
         }
-
-        // Declared instance was non-empty, which can happen with extensions
-        return new EmptyOrderedByEffectiveStatement(declared);
     }
 }