}
}
- 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() {