<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def copy(self):
 """ Get a copy of this item but with a new id :return: copy of this object with a new id :rtype: object """

        # New dummy item with it's own running properties
        copied_item = self.__class__({})
        # Now, copy the properties
        for prop in self.__class__.properties:
            if prop in ['uuid']:
                continue
            val = getattr(self, prop, None)
            if val is not None:
                setattr(copied_item, prop, val)

        # Also copy some running properties
        # The custom variables
        if hasattr(self, "customs"):
            copied_item.customs = copy(self.customs)
        # And tags/templates
        if hasattr(self, "tags"):
            copied_item.tags = copy(self.tags)
        if hasattr(self, "templates"):
            copied_item.templates = copy(self.templates)

        return copied_item