def _consume_field(self, parse_type=True, prefer_type=False):
        # type: (bool, bool) -> Tuple[unicode, unicode, List[unicode]]
        line = next(self._line_iter)  # type: ignore

        before, colon, after = self._partition_field_on_colon(line)
        _name, _type, _desc = before, '', after  # type: unicode, unicode, unicode

        if parse_type:
            match = _google_typed_arg_regex.match(before)  # type: ignore
            if match:
                _name = match.group(1)
                _type = match.group(2)

        _name = self._escape_args_and_kwargs(_name)

        if prefer_type and not _type:
            _type, _name = _name, _type
        indent = self._get_indent(line) + 1
        _descs = [_desc] + self._dedent(self._consume_indented_block(indent))
        return _name, _type, _descs