code: def due(self):
          
  
          if self._duration:
              # if due is duration defined return the beginning + duration
              return self.begin + self._duration
          elif self._due_time:
              # if due is time defined
              return self._due_time
          else:
              return None
docs: Get or set the end of the todo.
  
          |  Will return an :class:`Arrow` object.
          |  May be set to anything that :func:`Arrow.get` understands.
          |  If set to a non null value, removes any already
              existing duration.
          |  Setting to None will have unexpected behavior if
              begin is not None.
          |  Must not be set to an inferior value than self.begin.