@Override
 public boolean equals(final Object obj) {
   if (this == obj) {
     return true;
   }
   if (obj == null) {
     return false;
   }
   if (getClass() != obj.getClass()) {
     return false;
   }
   MethodSignatureImpl other = (MethodSignatureImpl) obj;
   if (!Objects.equals(getName(), other.getName())) {
     return false;
   }
   if (!Objects.equals(params, other.params)) {
     return false;
   }
   if (!Objects.equals(getReturnType(), other.getReturnType())) {
     return false;
   }
   return true;
 }