class Handle {

  @Override
  public boolean equals(final Object object) {
    if (object == this) {
      return true;
    }
    if (!(object instanceof Handle)) {
      return false;
    }
    Handle handle = (Handle) object;
    return tag == handle.tag
        && isInterface == handle.isInterface
        && owner.equals(handle.owner)
        && name.equals(handle.name)
        && descriptor.equals(handle.descriptor);
  }

  @Deprecated public  Handle(final int tag, final String owner, final String name, final String descriptor);
  public  Handle(
      final int tag,
      final String owner,
      final String name,
      final String descriptor,
      final boolean isInterface);

}