docs: protected void mergeInto(FrameType other, FrameType result) throws DataflowAnalysisException {
          // Handle if result Frame or the other Frame is the special "TOP" value.
          if (result.isTop()) {
              // Result is the identity element, so copy the other Frame
              result.copyFrom(other);
              return;
          } else if (other.isTop()) {
              // Other Frame is the identity element, so result stays the same
              return;
          }
  
          // Handle if result Frame or the other Frame is the special "BOTTOM"
          // value.
          if (result.isBottom()) {
              // Result is the bottom element, so it stays that way
              return;
          } else if (other.isBottom()) {
              // Other Frame is the bottom element, so result becomes the bottom
              // element too
              result.setBottom();
              return;
          }
  
          // If the number of slots in the Frames differs,
          // then the result is the special "BOTTOM" value.
          if (result.getNumSlots() != other.getNumSlots()) {
              result.setBottom();
              return;
          }
  
          // Usual case: ordinary Frames consisting of the same number of values.
          // Merge each value in the two slot lists element-wise.
          for (int i = 0; i < result.getNumSlots(); ++i) {
              mergeValues(other, result, i);
          }
      }