'Override of the default deserialize method, to match the above overridden
serialize method'

def deserialize(self, data):

    from ansible.playbook.task import Task
    from ansible.playbook.task_include import TaskInclude
    from ansible.playbook.handler_task_include import HandlerTaskInclude
    for attr in self._valid_attrs:
        if ((attr in data) and (attr not in ('block', 'rescue', 'always'))):
            setattr(self, attr, data.get(attr))
    self._dep_chain = data.get('dep_chain', None)
    self._eor = data.get('eor', False)
    role_data = data.get('role')
    if role_data:
        r = Role()
        r.deserialize(role_data)
        self._role = r
    parent_data = data.get('parent')
    if parent_data:
        parent_type = data.get('parent_type')
        if (parent_type == 'Block'):
            p = Block()
        elif (parent_type == 'TaskInclude'):
            p = TaskInclude()
        elif (parent_type == 'HandlerTaskInclude'):
            p = HandlerTaskInclude()
        p.deserialize(parent_data)
        self._parent = p
        self._dep_chain = self._parent.get_dep_chain()
