code: public SemanticStatus matches(final Signature other) {
          if (other == null) return null;
  
          // Check simple function/return types first
          if (getFunction() != other.getFunction()) return INVALID_FUNCTION;
          if (getReturnType() != other.getReturnType())
              return INVALID_RETURN_TYPE;
  
          String[] myargs = this.getArguments();
          String[] otherargs = other.getArguments();
  
          return argumentsMatch(myargs, otherargs);
      }
docs: Returns the {@link SemanticStatus semantic status} of the supplied
  signature against this one.
  
  @param other {@link Signature}
  @return SemanticStatus, which may be null