code: public Signature spread(String... names) {
          Class<?> aryType = lastArgType();
  
          assert lastArgType().isArray();
  
          Class<?>[] newTypes = new Class<?>[names.length];
          Arrays.fill(newTypes, aryType.getComponentType());
  
          return spread(names, newTypes);
      }
docs: Spread the trailing [] argument into its component type assigning given names.
  
  @param names names to use for the decomposed arguments
  @return a new signature with decomposed arguments in place of the trailing array