Narrow down SuppressFBWarnings in ModelProcessingPhase
[yangtools.git] / yang / yang-parser-spi / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / ModelProcessingPhase.java
index f47b1ef06d524316549fae2c4c8b2571283dd557..196f3ee86f0380e810a79a2ef9a4929c42e394e7 100644 (file)
@@ -7,14 +7,15 @@
  */
 package org.opendaylight.yangtools.yang.parser.spi.meta;
 
+import static java.util.Objects.requireNonNull;
+
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 
 @NonNullByDefault
-@SuppressFBWarnings("NP_NULL_PARAM_DEREF_NONVIRTUAL")
 public enum ModelProcessingPhase {
-    INIT(null),
+    INIT(),
 
     /**
      * Preliminary cross-source relationship resolution phase which collects available module names and module
@@ -41,8 +42,14 @@ public enum ModelProcessingPhase {
 
     private final @Nullable ModelProcessingPhase previousPhase;
 
-    ModelProcessingPhase(final @Nullable ModelProcessingPhase previous) {
-        this.previousPhase = previous;
+    @SuppressFBWarnings(value = "NP_STORE_INTO_NONNULL_FIELD",
+        justification = "https://github.com/spotbugs/spotbugs/issues/743")
+    ModelProcessingPhase() {
+        previousPhase = null;
+    }
+
+    ModelProcessingPhase(final ModelProcessingPhase previousPhase) {
+        this.previousPhase = requireNonNull(previousPhase);
     }
 
     /**