code: def _subfield_conflicts(
      conflicts,  # type: List[Tuple[Tuple[str, str], List[Node], List[Node]]]
      response_name,  # type: str
      ast1,  # type: Node
      ast2,  # type: Node
  ):
      # type: (...) -> Optional[Tuple[Tuple[str, str], List[Node], List[Node]]]
      
      if conflicts:
          return (  # type: ignore
              (response_name, [conflict[0] for conflict in conflicts]),
              tuple(itertools.chain([ast1], *[conflict[1] for conflict in conflicts])),
              tuple(itertools.chain([ast2], *[conflict[2] for conflict in conflicts])),
          )
      return None
docs: Given a series of Conflicts which occurred between two sub-fields, generate a single Conflict.