code: def _load_multipoint(tokens, string):
      
      open_paren = next(tokens)
      if not open_paren == '(':
          raise ValueError(INVALID_WKT_FMT % string)
  
      coords = []
      pt = []
  
      paren_depth = 1
      try:
          for t in tokens:
              if t == '(':
                  paren_depth += 1
              elif t == ')':
                  paren_depth -= 1
                  if paren_depth == 0:
                      break
              elif t == '':
                  pass
              elif t == ',':
                  # the point is done
                  coords.append(pt)
                  pt = []
              else:
                  pt.append(float(t))
      except tokenize.TokenError:
          raise ValueError(INVALID_WKT_FMT % string)
  
      # Given the way we're parsing, we'll probably have to deal with the last
      # point after the loop
      if len(pt) > 0:
          coords.append(pt)
  
      return dict(type='MultiPoint', coordinates=coords)
docs: Has similar inputs and return value to to :func:`_load_point`, except is
      for handling MULTIPOINT geometry.
  
      :returns:
          A GeoJSON `dict` MultiPoint representation of the WKT ``string``.