def METHOD_NAME(self, value):
    m = re.fullmatch(r'(POINT|LINESTRING|POLYGON)\((.*)\)', value)
    if not m:
        raise RuntimeError(f'Unparsable WKT: {value}')
    if m[1] == 'POINT':
        self.value = self._parse_wkt_coord(m[2])
    elif m[1] == 'LINESTRING':
        self.value = self._parse_wkt_line(m[2])
    elif m[1] == 'POLYGON':
        self.value = [self._parse_wkt_line(ln) for ln in m[2][1:-1].split('),(')]