docs: def _parse(
              self,
              item_iter,  # type: Iterable[ET.Element]
              state  # type: _ProcessorState
      ):
          # type: (...) -> List
          """Parse the array data using the provided iterator of XML elements."""
          parsed_array = []
  
          for i, item in enumerate(item_iter):
              state.push_location(self._item_processor.element_path, i)
              parsed_array.append(self._item_processor.parse_at_element(item, state))
              state.pop_location()
  
          if not parsed_array and self.required:
              state.raise_error(MissingValue, 'Missing required array "{}"'.format(self.alias))
  
          return parsed_array