docs: def parse_yaml(self, y):
          '''Parse a YAML specification of a preceding condition into this
          object.
  
          '''
          super(Preceding, self).parse_yaml(y)
          c = y['condition']['preceding']
          if 'timeout' in c:
              self.timeout = int(c['timeout'])
          else:
              self.timeout = 0
          if 'sendingTiming' in c:
              self.sending_timing = c['sendingTiming']
          else:
              self.sending_timing = 'ASYNC'
          self._preceding_components = []
          if 'precedingComponents' in c:
              for p in c.get('precedingComponents'):
                  self._preceding_components.append(TargetExecutionContext().parse_yaml(p))
          return self