private void filter () {
		displayedElements.clear();

		if (filter != null)
			for (int i = 0; i < source.getSize(); i++)
				if (filter.accept (source.getElementAt (i)))
					displayedElements.add (i);

		fireContentsChanged (this, 0, getSize() - 1);
	}