'Checks if our next entry is a KEY=VALUE mapping or not.
:param str key: checks that the key matches this value, skipping the check if **None**
:param bool quoted: checks that the mapping is to a quoted value
:param bool escaped: unescapes the CONTROL_ESCAPES escape sequences
:returns: **True** if the next entry can be parsed as a key=value mapping,
**False** otherwise'

def is_next_mapping(self, key=None, quoted=False, escaped=False):

    remainder = self._remainder
    key_match = KEY_ARG.match(remainder)
    if key_match:
        if (key and (key != key_match.groups()[0])):
            return False
        if quoted:
            (start_quote, end_quote) = _get_quote_indices(remainder, escaped)
            return ((start_quote == key_match.end()) and (end_quote != (-1)))
        else:
            return True
    else:
        return False
