@SuppressWarnings({"unchecked", "rawtypes"})
	@Nonnull
	private Node createButtonBar() {
		ChangeListener listener = (ob, old, cur) -> refreshTreeFilter();
		ChangeListener listener2 = (ob, old, cur) -> refreshTreeSort();

		memberType.addListener(listener);
		visibility.addListener(listener);
		showSynthetics.addListener(listener);
		sortAlphabetically.addListener(listener2);
		sortByVisibility.addListener(listener2);

		Button[] buttons = {
				// Show synthetics
				new BoundToggleIcon(Icons.SYNTHETIC, showSynthetics).withTooltip("fieldsandmethods.showoutlinedsynths"),
				// Member type
				new BoundMultiToggleIcon<>(MemberType.class, memberType, m -> Icons.getIconView(m.icon))
						.withTooltip("fieldsandmethods.showoutlinedmembertype"),
				// Visibility
				new BoundMultiToggleIcon<>(Visibility.class, visibility, v -> Icons.getIconView(v.icon))
						.withTooltip("fieldsandmethods.showoutlinedvisibility"),
				// Sort alphabetically/visibility
				new BoundToggleIcon(Icons.SORT_ALPHABETICAL, sortAlphabetically).withTooltip("fieldsandmethods.sortalphabetically"),
				new BoundToggleIcon(Icons.SORT_VISIBILITY, sortByVisibility).withTooltip("fieldsandmethods.sortbyvisibility")
		};
		for (Button button : buttons)
			button.setFocusTraversable(false);

		return new HBox(buttons);
	}
@return Box containing tree display options.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/tabs/FieldsAndMethodsPane.java