code: public static SkbShellArgument newArgument(String argument, boolean isOptional, SkbShellArgumentType type, Object[] valueSet, String description, String addedHelp){
  		return new AbstractShellArgument(argument, isOptional, type, valueSet, description, addedHelp);
  	}
docs: Returns a new shell argument, use the factory to create one.
  @param argument the actual argument, cannot be blank
  @param isOptional flag for optional (true if optional, false if not)
  @param type the argument's type, cannot be null
  @param valueSet the argument's value set if specified, can be null
  @param description the command's description, cannot be null
  @param addedHelp a string additional to the description for help
  @return new shell argument
  @throws IllegalArgumentException if argument, type, or description was null