def METHOD_NAME(self):
    table_view = self.view.tableWayPoints
    waypoints_model = self.view.waypoints_model
    params = self._get_parameters()
    if params["radius"] < 0.01:
        QtWidgets.QMessageBox.warning(
            self, "Add hexagon", "You cannot create a hexagon with zero radius!")
        return
    points = create_hexagon(params["center_lat"], params["center_lon"], params["radius"],
                            params["angle"], params["direction"] == "clockwise")
    index = table_view.currentIndex()
    if not index.isValid():
        row = 0
        flightlevel = config_loader(dataset="new_flighttrack_flightlevel")
    else:
        row = index.row() + 1
        flightlevel = waypoints_model.waypoint_data(row - 1).flightlevel
    waypoints = []
    for i, point in enumerate(points):
        waypoints.append(
            ft.Waypoint(lon=float(point[1]), lat=float(point[0]),
                        flightlevel=float(flightlevel), comments=f"Hexagon {(i + 1):d}"))
    waypoints_model.insertRows(row, rows=len(waypoints), waypoints=waypoints)
    index = waypoints_model.index(row, 0)
    table_view.setCurrentIndex(index)
    table_view.resizeRowsToContents()