public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    OfflineProblemDescriptor that = (OfflineProblemDescriptor)o;

    if (myLine != that.myLine) return false;
    if (myProblemIndex != that.myProblemIndex) return false;
    if (!Objects.equals(myDescription, that.myDescription)) return false;
    if (!Objects.equals(myFQName, that.myFQName)) return false;
    if (!Objects.equals(myHints, that.myHints)) return false;
    if (!Objects.equals(myModuleName, that.myModuleName)) return false;
    if (!Objects.equals(myType, that.myType)) return false;

    return true;
  }
public boolean equals(Object o)