@Override
  public boolean equals(Object o) {
    if (o == this) return true;
    if (!(o instanceof LinkConstant cn)) return false;

    return this.type == cn.type &&
           this.elementName.equals(cn.elementName) &&
           this.descriptor.equals(cn.descriptor) &&
           (this.type != CodeConstants.CONSTANT_NameAndType || this.className.equals(cn.className));
  }
@Override
  public boolean equals(Object o)