@classmethod
def flatten(cls, change):
    """
        This method will flatten changes and return a list of TaskChange
        """
    changes = list()
    if not change:
        return changes
    changes.append(change)
    for related in change.related_changes:
        changes.extend(cls.flatten(related))
    return changes
