Do not mask single exceptions
[yangtools.git] / parser / yang-parser-reactor / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / SourceSpecificContext.java
index 0d1b58214025541f9257f342aee06daa7dd69ab6..d34b4e19af1e6e313f630a9aa25da07f97ebeb97 100644 (file)
@@ -386,15 +386,17 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha
             }
         }
 
-        if (exceptions.isEmpty()) {
-            return Optional.empty();
+        switch (exceptions.size()) {
+            case 0:
+                return Optional.empty();
+            case 1:
+                return Optional.of(exceptions.get(0));
+            default:
+                final String message = String.format("Yang model processing phase %s failed", identifier);
+                final InferenceException ex = new InferenceException(message, root, exceptions.get(0));
+                exceptions.listIterator(1).forEachRemaining(ex::addSuppressed);
+                return Optional.of(ex);
         }
-
-        final String message = String.format("Yang model processing phase %s failed", identifier);
-        final InferenceException e = new InferenceException(message, root, exceptions.get(0));
-        exceptions.listIterator(1).forEachRemaining(e::addSuppressed);
-
-        return Optional.of(e);
     }
 
     void loadStatements() {