def duplicate(self, nameExtension):
        dupe = type(self)(name=self.name+nameExtension)
        for attribute in self.attributes():
            dupe._properties[attribute.name] = copy.deepcopy(attribute)
        for output in self.outputs():
            fullOutputName = self._outputNameInPropertyDict(output.name)
            dupe._properties[fullOutputName] = copy.deepcopy(output)
        return dupe
Return a duplicate of this node, but insure the parameters that need to be
dataset/ETHPy150Open andrew-gardner/dependsworkflow/depends/depends_node.py/DagNode.duplicate