/**
   * Remove a vertex from the polygon.
   *
   * @param vertexToRemove the vertex to remove.
   */
  protected void removeVertex(ControlPointMarker vertexToRemove) {
    ExtrudedPolygon polygon = this.getPolygon();
    ArrayList<LatLon> locations = new ArrayList<LatLon>(this.controlPoints.size() - 1);

    for (LatLon latLon : polygon.getOuterBoundary()) {
      locations.add(latLon);
    }
    locations.remove(vertexToRemove.getIndex());

    polygon.setOuterBoundary(locations);
  }