boolean (Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; MatchKey key = (MatchKey)o; return byteOffset == key.byteOffset && gosOffset == key.gosOffset && matchBeginOfString == key.matchBeginOfString && descriptor.equals(key.descriptor) && Objects.equals(string, key.string) && priority == key.priority && currentScope.equals(key.currentScope); }