code: def holes(cls, dataset):
      from shapely.geometry import Polygon, MultiPolygon
  
      holes = []
      col = cls.geo_column(dataset.data)
      for geom in dataset.data[col]:
          if isinstance(geom, Polygon) and geom.interiors:
              holes.append([[geom_to_array(h) for h in geom.interiors]])
          elif isinstance(geom, MultiPolygon):
              holes += [
                  [
                      [geom_to_array(h) for h in g.interiors]
                      for g in geom.geoms
                  ]
              ]
          else:
              holes.append([[]])
      return holes
  
imports: import sys
  import warnings
  from collections import defaultdict
  import numpy
  import pandas
  from holoviews.core.util import isscalar, unique_iterator, unique_array
  from holoviews.core.data import Dataset, Interface, MultiInterface, PandasAPI
  from holoviews.core.data.interface import DataError
  from holoviews.core.data import PandasInterface
  from holoviews.core.data.spatialpandas import get_value_array
  from holoviews.core.dimension import dimension_name
  from holoviews.element import Path
  from ..util import asarray, geom_to_array, geom_types, geom_length
  from .geom_dict import geom_from_dict
label_desc: Use image node_id 8 for calling the GeoPandasInterface obj's underlying member method code with example usage: obj.holes(cls, dataset) and returns: holes