@Override
    public boolean equals(@Nullable Object o) {
        if (this == o) {
            return true;
        }

        if (!(o instanceof MethodInfo)) {
            return false;
        }

        final MethodInfo that = (MethodInfo) o;
        return id().equals(that.id()) &&
               name().equals(that.name()) &&
               returnTypeSignature().equals(that.returnTypeSignature()) &&
               parameters().equals(that.parameters()) &&
               useParameterAsRoot() == that.useParameterAsRoot() &&
               exceptionTypeSignatures().equals(that.exceptionTypeSignatures()) &&
               endpoints().equals(that.endpoints()) &&
               httpMethod() == that.httpMethod() &&
               descriptionInfo().equals(that.descriptionInfo());
    }
Returns a new {@link MethodInfo} with the specified {@link DescriptionInfo}.
Returns {@code this} if this {@link MethodInfo} has the same {@link DescriptionInfo}.
core/src/main/java/com/linecorp/armeria/server/docs/MethodInfo.java