code: def _parse_log_entry(entry_pb):
      
      try:
          return MessageToDict(entry_pb)
      except TypeError:
          if entry_pb.HasField("proto_payload"):
              proto_payload = entry_pb.proto_payload
              entry_pb.ClearField("proto_payload")
              entry_mapping = MessageToDict(entry_pb)
              entry_mapping["protoPayload"] = proto_payload
              return entry_mapping
          else:
              raise
docs: Special helper to parse ``LogEntry`` protobuf into a dictionary.
  
      The ``proto_payload`` field in ``LogEntry`` is of type ``Any``. This
      can be problematic if the type URL in the payload isn't in the
      ``google.protobuf`` registry. To help with parsing unregistered types,
      this function will remove ``proto_payload`` before parsing.
  
      :type entry_pb: :class:`.log_entry_pb2.LogEntry`
      :param entry_pb: Log entry protobuf.
  
      :rtype: dict
      :returns: The parsed log entry. The ``protoPayload`` key may contain
                the raw ``Any`` protobuf from ``entry_pb.proto_payload`` if
                it could not be parsed.