docs: @Override
      public void analyzeInstruction(Instruction ins) throws DataflowAnalysisException {
          if (!getFrame().isValid()) {
              return;
          }
          slotContainingNewNullValue = -1;
          super.analyzeInstruction(ins);
          if (!getFrame().isValid()) {
              return;
          }
  
          if (!NO_ASSERT_HACK) {
              if (assertionMethods.isAssertionHandle(getLocation().getHandle(), cpg)) {
                  IsNullValueFrame frame = getFrame();
                  for (int i = 0; i < frame.getNumSlots(); ++i) {
                      IsNullValue value = frame.getValue(i);
                      if (value.isDefinitelyNull() || value.isNullOnSomePath()) {
                          frame.setValue(i, IsNullValue.nonReportingNotNullValue());
                      }
                  }
                  for (Map.Entry<ValueNumber, IsNullValue> e : frame.getKnownValueMapEntrySet()) {
                      IsNullValue value = e.getValue();
                      if (value.isDefinitelyNull() || value.isNullOnSomePath()) {
                          e.setValue(IsNullValue.nonReportingNotNullValue());
                      }
  
                  }
              }
          }
  
      }