def __set_shape(self, shape, key, data, name=None):
        """Add a key and data to the specified geometry shape."""
        if isinstance(data, list):
            LOG.debug("geometries:%s:%s[%i]", shape, key, len(data))
        else:
            LOG.debug("geometries:%s:%s:%i", shape, key, data)
        if name is None:
            self.asset['geometries'][shape][key] = data
        else:
            shape_asset = self.asset['geometries'][shape]
            if 'surfaces' not in shape_asset:
                shape_asset['surfaces'] = { }
            surfaces_asset = shape_asset['surfaces']
            if name not in surfaces_asset:
                surfaces_asset[name] = { }
            surface_asset = surfaces_asset[name]
            surface_asset[key] = data
dataset/ETHPy150Open turbulenz/turbulenz_tools/turbulenz_tools/tools/asset2json.py/JsonAsset.__set_shape/original