docs: def _from_dict(cls, _dict):
          """Initialize a OutputData object from a json dictionary."""
          args = {}
          xtra = _dict.copy()
          if 'log_messages' in _dict:
              args['log_messages'] = [
                  LogMessage._from_dict(x) for x in (_dict.get('log_messages'))
              ]
              del xtra['log_messages']
          else:
              raise ValueError(
                  'Required property \'log_messages\' not present in OutputData JSON'
              )
          if 'text' in _dict:
              args['text'] = _dict.get('text')
              del xtra['text']
          else:
              raise ValueError(
                  'Required property \'text\' not present in OutputData JSON')
          if 'generic' in _dict:
              args['generic'] = [
                  DialogRuntimeResponseGeneric._from_dict(x)
                  for x in (_dict.get('generic'))
              ]
              del xtra['generic']
          if 'nodes_visited' in _dict:
              args['nodes_visited'] = _dict.get('nodes_visited')
              del xtra['nodes_visited']
          if 'nodes_visited_details' in _dict:
              args['nodes_visited_details'] = [
                  DialogNodeVisitedDetails._from_dict(x)
                  for x in (_dict.get('nodes_visited_details'))
              ]
              del xtra['nodes_visited_details']
          args.update(xtra)
          return cls(**args)