@Override
        public boolean equals(final Object o) {
            if (this == o) {
                return true;
            }
            if (o == null || getClass() != o.getClass()) {
                return false;
            }
            final Arg arg = (Arg) o;
            return optional == arg.optional
                    && varargs == arg.varargs
                    && minVarargsCount == arg.minVarargsCount
                    && Objects.equals(name, arg.name)
                    && argType == arg.argType
                    && Objects.equals(description, arg.description)
                    && Objects.equals(allowedValues, arg.allowedValues)
                    && Objects.equals(defaultValue, arg.defaultValue);
        }
@return True if this function signature is overloaded within its category
stroom-core-shared/src/main/java/stroom/query/shared/QueryHelpFunctionSignature.java