boolean (final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final CandidateInfo that = (CandidateInfo)o; if (myPackagePrefixPackageReference != that.myPackagePrefixPackageReference) return false; if (myStaticsProblem != that.myStaticsProblem) return false; if (!Objects.equals(myAccessClass, that.myAccessClass)) return false; if (isAccessible() != that.isAccessible()) return false; if (!myCandidate.equals(that.myCandidate)) return false; if (!Objects.equals(myCurrentFileResolveContext, that.myCurrentFileResolveContext)) return false; if (!Objects.equals(myPlace, that.myPlace)) return false; return mySubstitutor.equals(that.mySubstitutor); }