Control createControl(Composite parent)
        {
            PixelConverter converter = new PixelConverter(parent);

            var composite = new Composite(parent, SWT.NONE);

            composite.setFont(parent.getFont());

            var layout = new GridLayout();

            layout.numColumns = 2;
            composite.setLayout(layout);

            //
            // Label
            //
            var label = new Label(composite, SWT.LEFT | SWT.WRAP);

            label.setFont(composite.getFont());
            label.setText(Messages.librariesPreferencesLabelText);

            var gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);

            gd.horizontalSpan    = 2;
            gd.verticalAlignment = GridData.BEGINNING;
            label.setLayoutData(gd);

            //
            // Table
            //
            var tableComposite = new Composite(composite, SWT.NONE);

            tableComposite.setFont(composite.getFont());
            var tableColumnLayout = new TableColumnLayout();

            tableComposite.setLayout(tableColumnLayout);

            var table = new Table(tableComposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);

            table.setFont(composite.getFont());
            table.setHeaderVisible(false);
            table.setLinesVisible(false);
            var column = new TableColumn(table, SWT.NONE);

            tableColumnLayout.setColumnData(column, new ColumnWeightData(100, false));

            // Table viewer
            tableViewer = new CheckboxTableViewer(table);
            tableViewer.setContentProvider(tableContentProvider);
            tableViewer.setCheckStateProvider(tableCheckStateProvider);
            tableViewer.setLabelProvider(tableLabelProvider);
            tableViewer.addCheckStateListener(tableCheckStateListener);
            tableViewer.addSelectionChangedListener(event => {
		Control createControl(Composite parent) {
			PixelConverter converter = new PixelConverter(parent);
			
			var composite = new Composite(parent, SWT.NONE);
			composite.setFont(parent.getFont());
			
			var layout = new GridLayout();
			layout.numColumns = 2;
			composite.setLayout(layout);

			//
			// Label
			//
			var label = new Label(composite, SWT.LEFT | SWT.WRAP);
			label.setFont(composite.getFont());
			label.setText(Messages.librariesPreferencesLabelText);
	
			var gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
			gd.horizontalSpan = 2;
			gd.verticalAlignment = GridData.BEGINNING;
			label.setLayoutData(gd);

			//
			// Table
			//
			var tableComposite = new Composite(composite, SWT.NONE);
			tableComposite.setFont(composite.getFont());
			var tableColumnLayout = new TableColumnLayout();
			tableComposite.setLayout(tableColumnLayout);
			
			var table = new Table(tableComposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK);
			table.setFont(composite.getFont());
			table.setHeaderVisible(false);
			table.setLinesVisible(false);
			var column = new TableColumn(table, SWT.NONE);
			tableColumnLayout.setColumnData(column, new ColumnWeightData(100, false));
	
			// Table viewer
			tableViewer = new CheckboxTableViewer(table);
			tableViewer.setContentProvider(tableContentProvider);
			tableViewer.setCheckStateProvider(tableCheckStateProvider);
			tableViewer.setLabelProvider(tableLabelProvider);
			tableViewer.addCheckStateListener(tableCheckStateListener);
			tableViewer.addSelectionChangedListener(event => {