code: public void removePainter(Painter<T> painter)
      {
          Collection<Painter<T>> old = new ArrayList<Painter<T>>(getPainters());
          
          this.painters.remove(painter);
          
          if (painter instanceof AbstractPainter)
          {
              ((AbstractPainter<?>) painter).removePropertyChangeListener(handler);
          }
  
          setDirty(true);
          firePropertyChange("painters", old, getPainters());
      }
docs: Removes a painter from the queue of painters
  @param painter the painter that is added