def METHOD_NAME(self, args):
    """Create bulksubmit commands list"""
    #  Expand any escape sequences in args.sep, and replace "none"
    #   with literal None:
    sep = bytes(args.sep, "utf-8").decode("unicode_escape")
    if sep.lower() == "none":
        sep = None
    #  Ensure any provided methods can compile
    args.methods = {
        name: compile(code, name, "eval")
        for name, code in dict(args.methods).items()
    }
    #  Split command into command template and input lists + links:
    args.command, input_list, links = self.split_command_inputs(
        args.command, sep, delim=":::"
    )
    #  If no command provided then the default is "{}"
    if not args.command:
        args.command = ["{}"]
    #  If no inputs on commandline, read from stdin:
    if not input_list:
        input_list = [self.input_file(sys.stdin, sep)]
    #  Take the product of all inputs in input_list
    inputs = [list(x) for x in list(itertools.product(*input_list))]
    #  Now cycle over linked inputs and insert them in result:
    for link in links:
        cycle = itertools.cycle(link["list"])
        for lst in inputs:
            lst.insert(link["index"], next(cycle))
    #  For each set of generated input lists, append a command
    #   to run. Keep a sequence counter so that {seq} can be used
    #   in the format expansion.
    return [
        base.Xcmd(args, inp, seq=i, seq1=i + 1, cc="{cc}")
        for i, inp in enumerate(inputs)
    ]