code: def pop(self, key, default=None):
          
          if key not in self:
              if default is not None:
                  return default
              raise KeyError(key)
          for map in [self._pb.IntMap, self._pb.FloatMap, self._pb.StringMap,
                      self._pb.BoolMap]:
              if key in map.keys():
                  return map.pop(key)
docs: Remove specified key and return the corresponding value.
             If key is not found, default is returned if given, otherwise 
             KeyError is raised.