Returns a copy of the current group, including its lines.
        @returns: Group

def duplicate(self):
        '''
        Returns a copy of the current group, including its lines.
        @returns: Group
        '''
        instance = self.__class__(identifier=self.identifier,
                                  name=self.name, description=self.description,
                                  currency=self.currency, status=self.status,
                                  date=self.date, due_date=self.due_date,
                                  terms=self.terms,
                                  seller=self.seller.duplicate(),
                                  buyer=self.buyer.duplicate(),
                                  shipping=self.shipping.duplicate(),
                                  mentions=self.mentions,)
        for group in self.groups:
            instance.groups.append(group.duplicate())
        for method in self.deliveries:
            instance.deliveries.append(method.duplicate())
        for payment in self.payments:
            instance.payments.append(payment.duplicate())

        return instance