def clone(self, counter=None):
        cloned_tool = copy.copy(self)
        cloned_tool._options = self.options.copy()
        if cloned_tool.name and counter is not None:
            cloned_tool.name = "%s.%d" % (cloned_tool.name, str(counter))
        cloned_tool._options._help = self.options._help
        cloned_tool._options._usage = self.options._usage
        # update the options source
        cloned_tool._options.source = cloned_tool
        for o in cloned_tool._options:
            o.source = cloned_tool
        log.debug("Tool | cloned instance %s [%s->%s]",
                  self, self.__hash__(), cloned_tool.__hash__())
        return cloned_tool
Clones this instance of the tool and returns the clone. If the
dataset/ETHPy150Open thasso/pyjip/jip/tools.py/Tool.clone