code: public void removeEvent(ListIterator<GridEvent> iterator)
    {
      if(iterator != null)
      {
        // go one step back
        iterator.previous();
        // get the element again
        GridEvent event = iterator.next();
        if(event != null)
        {
          iterator.remove();
          // we never allow overlapping events in a row, so we can set the area to unoccupied
          occupancySet.set(event.getLeft(), event.getRight() + 1, false);
        }
      }
    }
docs: Call {@link ListIterator#remove() } and update internal occupancy grid.
  @param iterator
  @return