<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _check_span_id(self, span_id):
 """Check the format of the span_id to ensure it is 16-character hex value representing a 64-bit number. If span_id is invalid, logs a warning message and returns None :type span_id: str :param span_id: Identifier for the span, unique within a span. :rtype: str :returns: Span_id for the current span. """

        if span_id is None:
            return None
        assert isinstance(span_id, six.string_types)

        if span_id is INVALID_SPAN_ID:
            logging.warning(
                'Span_id {} is invalid (cannot be all zero)'.format(span_id))
            self.from_header = False
            return None

        match = SPAN_ID_PATTERN.match(span_id)

        if match:
            return span_id
        else:
            logging.warning(
                'Span_id {} does not the match the '
                'required format'.format(span_id))
            self.from_header = False
            return None