public override bool Equals(ICodeIssueComputer o)
                {
                    // If the other is not in the same RefactoringType, return false
                    if (o is ReturnTypeCheckingResult)
                    {
                        var other = (ReturnTypeCheckingResult) o;
                        var methodsComparator = new MethodsComparator();
                        var stringEnumerablesComparator = new StringEnumerablesComparator();

                        // If the method declarations are equal to each other.
                        return methodsComparator.Compare(declaration, other.declaration) == 0 &&
                               // Also the contained return names are equal to each other, return true;
                               stringEnumerablesComparator.Compare(typeNameTuples.Select(t => t.Item2),
                                                                   other.typeNameTuples.Select(t => t.Item2)) == 0;
                    }
                    return false;
                }
 public override bool Equals(ICodeIssueComputer o)
 {
     var other = o as UnchangedMethodInvocationComputer;
     if (other != null)
     {
         var comparator = new MethodsComparator();
         return comparator.Compare(declaration, other.declaration) == 0;
     }
     return false;
 }