@Override
	protected boolean isDirty()
	{
		boolean dirty = super.isDirty();
		if (dirty)
		{
			return true;
		}
		else if (isCheckingDirtyChildPainters())
		{
			for (Painter<T> p : painters)
			{
				if (p instanceof AbstractPainter)
				{
					AbstractPainter<?> ap = (AbstractPainter<?>) p;
					if (ap.isDirty())
					{
						return true;
					}
				}
			}
		}
		return false;
	}