@Override protected TreeViewer createTreeViewer(Composite parent) { int styleBits = SWT.SINGLE; TreeViewer tree; if (!hasAtMostOnePage()) { filteredTree = new PreferenceFilteredTree(parent, styleBits, new PreferencePatternFilter()); filteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); tree = filteredTree.getViewer(); } else tree = new TreeViewer(parent, styleBits); setContentAndLabelProviders(tree); tree.setInput(getPreferenceManager()); tree.addFilter(new CapabilityFilter()); tree.addSelectionChangedListener(event -> handleTreeSelectionChanged(event)); super.addListeners(tree); return tree; }