docs: public Object answer(InvocationOnMock invocation) {
          if (isToStringMethod(invocation.getMethod())) {
              Object mock = invocation.getMock();
              MockName name = MockUtil.getMockName(mock);
              if (name.isDefault()) {
                  return "Mock for " + MockUtil.getMockSettings(mock).getTypeToMock().getSimpleName() + ", hashCode: " + mock.hashCode();
              } else {
                  return name.toString();
              }
          } else if (isCompareToMethod(invocation.getMethod())) {
              //see issue 184.
              //mocks by default should return 0 if references are the same, otherwise some other value because they are not the same. Hence we return 1 (anything but 0 is good).
              //Only for compareTo() method by the Comparable interface
              return invocation.getMock() == invocation.getArgument(0) ? 0 : 1;
          }
  
          Class<?> returnType = invocation.getMethod().getReturnType();
          return returnValueFor(returnType);
      }