private void initTree() {
		root.removeAllChildren();
		nodeCache.clear();
		for (CourseFilter f : courseModel.getFilters()) {
			DefaultMutableTreeNode n = new DefaultMutableTreeNode(f);
			if (f instanceof SourceCourseFilter)
				((SourceCourseFilter) f).setParentFrame(this);
			root.add(n);
			for (Object el : f.getOptions()) {
				DefaultMutableTreeNode child = new DefaultMutableTreeNode(el);
				nodeCache.put(el, child);
				n.add(child);
			}
		}
	}