@Override
	protected void validate(T object)
	{
		boolean dirty = false;
		for (Painter<T> p : painters)
		{
			if (p instanceof AbstractPainter)
			{
				AbstractPainter<T> ap = (AbstractPainter<T>) p;
				ap.validate(object);
				if (ap.isDirty())
				{
					dirty = true;
					break;
				}
			}
		}
		clearLocalCacheOnly = true;
		setDirty(dirty); //super will call clear cache
		clearLocalCacheOnly = false;
	}