code: public Signature prependArgs(String[] names, Class<?>... types) {
          String[] newArgNames = new String[argNames.length + names.length];
          System.arraycopy(argNames, 0, newArgNames, names.length, argNames.length);
          System.arraycopy(names, 0, newArgNames, 0, names.length);
          MethodType newMethodType = methodType.insertParameterTypes(0, types);
          return new Signature(newMethodType, newArgNames);
      }
docs: Prepend arguments (names + types) to the signature.
  
  @param names the names of the arguments
  @param types the types of the arguments
  @return a new signature with the added arguments