def __call__(self, name=None, threads=None, nodes=None, tasks=None, tasks_per_node=None, environment=None, time=None, queue=None, priority=None, log=None, out=None, err=None, account=None, mem=None, profile=None, prefix=None, temp=None, extra=None, dir=None, description=None, env=None):
    clone = self.__class__(name=(name if (name is not None) else self._name), threads=(threads if (threads is not None) else self.threads), tasks=(tasks if (tasks is not None) else self.tasks), tasks_per_node=(tasks_per_node if (tasks_per_node is not None) else self.tasks_per_node), environment=(environment if (environment is not None) else self.environment), env=(env if (env is not None) else self.env), nodes=(nodes if (nodes is not None) else self.nodes), profile=(profile if (profile is not None) else self.profile), queue=(queue if (queue is not None) else self.queue), time=(time if (time is not None) else self.time), priority=(priority if (priority is not None) else self.priority), log=(log if (log is not None) else (err if (err is not None) else self.log)), out=(out if (out is not None) else self.out), account=(account if (account is not None) else self.account), mem=(mem if (mem is not None) else self.mem), prefix=(prefix if (prefix is not None) else self.prefix), temp=(temp if (temp is not None) else self.temp), extra=(extra if (extra is not None) else self.extra), working_dir=(dir if (dir is not None) else self.working_dir), description=(description if (description is not None) else self.description), _load=False)
    for (name, spec) in self.specs.iteritems():
        clone.specs[name] = spec()
    return clone
def __call__(self, name=None, threads=None, nodes=None, tasks=None, tasks_per_node=None, environment=None, time=None, queue=None, priority=None, log=None, out=None, err=None, account=None, mem=None, profile=None, prefix=None, temp=None, extra=None, dir=None, description=None, env=None):
    clone = self.__class__(name=(name if (name is not None) else self._name), threads=(threads if (threads is not None) else self.threads), tasks=(tasks if (tasks is not None) else self.tasks), tasks_per_node=(tasks_per_node if (tasks_per_node is not None) else self.tasks_per_node), environment=(environment if (environment is not None) else self.environment), env=(env if (env is not None) else self.env), nodes=(nodes if (nodes is not None) else self.nodes), profile=(profile if (profile is not None) else self.profile), queue=(queue if (queue is not None) else self.queue), time=(time if (time is not None) else self.time), priority=(priority if (priority is not None) else self.priority), log=(log if (log is not None) else (err if (err is not None) else self.log)), out=(out if (out is not None) else self.out), account=(account if (account is not None) else self.account), mem=(mem if (mem is not None) else self.mem), prefix=(prefix if (prefix is not None) else self.prefix), temp=(temp if (temp is not None) else self.temp), extra=(extra if (extra is not None) else self.extra), working_dir=(dir if (dir is not None) else self.working_dir), description=(description if (description is not None) else self.description), _load=False)
    for (name, spec) in self.specs.iteritems():
        clone.specs[name] = spec()
    return clone