code: def _SkipField(tokenizer):
    
    if tokenizer.TryConsume('['):
      # Consume extension name.
      tokenizer.ConsumeIdentifier()
      while tokenizer.TryConsume('.'):
        tokenizer.ConsumeIdentifier()
      tokenizer.Consume(']')
    else:
      tokenizer.ConsumeIdentifier()
  
    _SkipFieldContents(tokenizer)
  
    # For historical reasons, fields may optionally be separated by commas or
    # semicolons.
    if not tokenizer.TryConsume(','):
      tokenizer.TryConsume(';')
docs: Skips over a complete field (name and value/message).
  
    Args:
      tokenizer: A tokenizer to parse the field name and values.