Bug 509089 - Remove trailing whitespace from org.eclipse.swt.examples

Change-Id: Iebaa081db41da7ae2e6736fbf3e0a736ab5ee1e1
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.ui.prefs
index 5b25dc1..0965ff6 100644
--- a/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.ui.prefs
+++ b/examples/org.eclipse.swt.examples/.settings/org.eclipse.jdt.ui.prefs
@@ -35,7 +35,7 @@
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
 sp_cleanup.remove_private_constructors=true
 sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
 sp_cleanup.remove_unnecessary_casts=true
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleBarChartExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleBarChartExample.java
index caaec0a..8d4c353 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleBarChartExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleBarChartExample.java
@@ -23,12 +23,12 @@
 public class AccessibleBarChartExample {
 	static Display display;
 	static Shell shell;
-	
+
 	public static void main(String[] args) {
 		display = new Display();
 		shell = new Shell(display);
 		shell.setLayout(new GridLayout());
-		
+
 		BarChart pets = new BarChart(shell, SWT.BORDER);
 		pets.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		pets.setTitle("Kids in my class: Pet Survey");
@@ -38,7 +38,7 @@
 		pets.addData("Budgies", 1);
 		pets.addData("Fish", 4);
 		pets.addData("None", 4);
-		
+
 		BarChart foods = new BarChart(shell, SWT.BORDER);
 		foods.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		foods.setTitle("Kids in my class: Favorite Food Survey");
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleNameExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleNameExample.java
index aa29313..0df9fbd 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleNameExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleNameExample.java
@@ -27,10 +27,10 @@
 		Shell shell = new Shell(display);
 		shell.setLayout(new GridLayout());
 		shell.setText("Accessible Name");
-		
+
 		Button button = new Button(shell, SWT.PUSH);
 		button.setText("Button"); // the first button's accessible name is "Button"
-		
+
 		Image image = new Image(display, AccessibleNameExample.class.getResourceAsStream("run.gif"));
 		button = new Button(shell, SWT.PUSH);
 		button.setImage(image);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleShapesExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleShapesExample.java
index 6bc24f9..5e0db87 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleShapesExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleShapesExample.java
@@ -22,16 +22,16 @@
 public class AccessibleShapesExample {
 	static Display display;
 	static Shell shell;
-	
+
 	public static void main(String[] args) {
 		display = new Display();
 		shell = new Shell(display);
 		shell.setLayout(new FillLayout());
-		
+
 		Shape redSquare = new Shape(shell, SWT.NONE);
 		redSquare.setColor(SWT.COLOR_RED);
 		redSquare.setShape(Shape.SQUARE);
-		
+
 		Shape blueCircle = new Shape(shell, SWT.NONE);
 		blueCircle.setColor(SWT.COLOR_BLUE);
 		blueCircle.setShape(Shape.CIRCLE);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleTableExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleTableExample.java
index 9dac6ae..266bac5 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleTableExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/AccessibleTableExample.java
@@ -25,7 +25,7 @@
 public class AccessibleTableExample {
 	static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_accessibility"); //$NON-NLS-1$
 	static CTable table1;
-	
+
 	static String getResourceString(String key) {
 		try {
 			return resourceBundle.getString(key);
@@ -33,7 +33,7 @@
 			return key;
 		} catch (NullPointerException e) {
 			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}			
+		}
 	}
 	static final String [] itemText = new String [] {
 			AccessibleTableExample.getResourceString("color1"),
@@ -47,13 +47,13 @@
 		Shell shell = new Shell(display);
 		shell.setLayout(new GridLayout());
 		shell.setText("Accessible Table Example");
-		
+
 		Group group = new Group(shell, SWT.NONE);
 		group.setText("Tables With Accessible Cell Children");
 		group.setLayout(new GridLayout());
 
 		new Label(group, SWT.NONE).setText("CTable with column headers");
-		
+
 		table1 = new CTable(group, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
 		table1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		table1.setHeaderVisible(true);
@@ -67,7 +67,7 @@
 			CTableItem item = new CTableItem(table1, SWT.NONE);
 			item.setText(new String [] {"C0R" + row, "C1R" + row, "C2R" + row});
 		}
-		
+
 		Composite btnGroup = new Composite(group, SWT.NONE);
 		btnGroup.setLayout(new FillLayout(SWT.VERTICAL));
 		Button btn = new Button(btnGroup, SWT.PUSH);
@@ -79,7 +79,7 @@
 				int colCount = table1.getColumnCount();
 				CTableItem item = new CTableItem(table1, SWT.NONE);
 				String[] cells = new String[colCount];
-				
+
 				for (int i = 0; i < colCount; i++) {
 					cells[i] = "C" + i + "R" + currSize;
 				}
@@ -125,16 +125,16 @@
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				int colCount = table1.getColumnCount();
-				
+
 				if (colCount > 0) {
 					CTableColumn column = table1.getColumn(colCount - 1);
 					column.dispose();
 				}
 			}
 		});
-		
+
 		new Label(group, SWT.NONE).setText("CTable used as a list");
-		
+
 		CTable table2 = new CTable(group, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
 		table2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 		table2.setLinesVisible(true);
@@ -142,7 +142,7 @@
 			CTableItem item = new CTableItem(table2, SWT.NONE);
 			item.setText(itemText[row]);
 		}
-		
+
 		shell.pack();
 		shell.open();
 		while (!shell.isDisposed()) {
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTable.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTable.java
index 539da19..c03e13e 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTable.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTable.java
@@ -45,7 +45,7 @@
 import org.eclipse.swt.widgets.TypedListener;
 import org.eclipse.swt.widgets.Widget;
 
-/** 
+/**
  * Instances of this class implement a selectable user interface
  * object that displays a list of images and strings and issues
  * notification when selected.
@@ -70,7 +70,7 @@
  *          item.setText ("Item " + index);
  *          System.out.println (item.getText ());
  *      }
- *  }); 
+ *  });
  * </pre></code>
  * </p><p>
  * Note that although this class is a subclass of <code>Composite</code>,
@@ -135,7 +135,7 @@
 	static final String ID_CHECKMARK = "CHECKMARK";			//$NON-NLS-1$
 	static final String ID_ARROWUP = "ARROWUP";				//$NON-NLS-1$
 	static final String ID_ARROWDOWN = "ARROWDOWN";			//$NON-NLS-1$
-	
+
 	Display display;
 
 //TEMPORARY CODE
@@ -144,14 +144,14 @@
 public boolean isFocusControl() {
 	return hasFocus;
 }
-	
+
 /**
  * Constructs a new instance of this class given its parent
  * and a style value describing its behavior and appearance.
  * <p>
  * The style value is either one of the style constants defined in
  * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
+ * class, or must be built by <em>bitwise OR</em>'ing together
  * (that is, using the <code>int</code> "|" operator) two or more
  * of those <code>SWT</code> style constants. The class description
  * lists the style constants that are applicable to the class.
@@ -192,19 +192,19 @@
 	checkboxBounds = getUncheckedImage ().getBounds ();
 	arrowBounds = getArrowDownImage ().getBounds ();
 	clientArea = getClientArea ();
-	
+
 	Listener listener = event -> handleEvents (event);
 	addListener (SWT.Paint, listener);
 	addListener (SWT.MouseDown, listener);
 	addListener (SWT.MouseUp, listener);
 	addListener (SWT.MouseDoubleClick, listener);
-	addListener (SWT.Dispose, listener);	
+	addListener (SWT.Dispose, listener);
 	addListener (SWT.Resize, listener);
 	addListener (SWT.KeyDown, listener);
 	addListener (SWT.FocusOut, listener);
 	addListener (SWT.FocusIn, listener);
 	addListener (SWT.Traverse, listener);
-	
+
 	initAccessibility ();
 
 	header = new Canvas (this, SWT.NO_REDRAW_RESIZE | SWT.NO_FOCUS);
@@ -275,7 +275,7 @@
 public void addSelectionListener (SelectionListener listener) {
 	checkWidget ();
 	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	TypedListener typedListener = new TypedListener (listener);	
+	TypedListener typedListener = new TypedListener (listener);
 	addListener (SWT.Selection, typedListener);
 	addListener (SWT.DefaultSelection, typedListener);
 }
@@ -298,7 +298,7 @@
 	* WS_VSCROLL is not specified, Windows creates
 	* trees and tables with scroll bars.  The fix
 	* is to set H_SCROLL and V_SCROLL.
-	* 
+	*
 	* NOTE: This code appears on all platforms so that
 	* applications have consistent scroll bar behavior.
 	*/
@@ -336,10 +336,10 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see SWT#VIRTUAL
  * @see SWT#SetData
- * 
+ *
  * @since 3.0
  */
 public void clear (int index) {
@@ -368,10 +368,10 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see SWT#VIRTUAL
  * @see SWT#SetData
- * 
+ *
  * @since 3.0
  */
 public void clear (int start, int end) {
@@ -402,10 +402,10 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see SWT#VIRTUAL
  * @see SWT#SetData
- * 
+ *
  * @since 3.0
  */
 public void clear (int [] indices) {
@@ -417,7 +417,7 @@
 			SWT.error (SWT.ERROR_INVALID_RANGE);
 		}
 	}
-	
+
 	for (int i = 0; i < indices.length; i++) {
 		items [indices [i]].clear ();
 	}
@@ -436,10 +436,10 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see SWT#VIRTUAL
  * @see SWT#SetData
- * 
+ *
  * @since 3.0
  */
 public void clearAll () {
@@ -492,7 +492,7 @@
 	newColumns [index] = column;
 	System.arraycopy (columns, index, newColumns, index + 1, columns.length - index);
 	columns = newColumns;
-	
+
 	if (orderedColumns != null) {
 		int insertIndex = 0;
 		if (index > 0) {
@@ -524,7 +524,7 @@
 			redrawFromItemDownwards (topIndex);
 		}
 	}
-	
+
 	/* Columns were added, so notify the accessible. */
 	int[] eventData = new int[5];
 	eventData[0] = ACC.INSERT;
@@ -568,7 +568,7 @@
 	Rectangle bounds = item.getBounds (false);
 	int rightX = bounds.x + bounds.width;
 	updateHorizontalBar (rightX, rightX);
-	/* 
+	/*
 	 * If new item is above viewport then adjust topIndex and the vertical
 	 * scrollbar so that the current viewport items will not change.
 	 */
@@ -580,7 +580,7 @@
 	}
 	/*
 	 * If this is the first item and the receiver has focus then its boundary
-	 * focus ring must be removed. 
+	 * focus ring must be removed.
 	 */
 	if (itemsCount == 1 && isFocusControl ()) {
 		focusItem = item;
@@ -609,12 +609,12 @@
 	CTableItem item = items [index];
 	int selectIndex = getSelectionIndex (item);
 	if (selectIndex == -1) return;
-	
+
 	CTableItem[] newSelectedItems = new CTableItem [selectedItems.length - 1];
 	System.arraycopy (selectedItems, 0, newSelectedItems, 0, selectIndex);
 	System.arraycopy (selectedItems, selectIndex + 1, newSelectedItems, selectIndex, newSelectedItems.length - selectIndex);
 	selectedItems = newSelectedItems;
-	
+
 	if (isFocusControl () || (getStyle () & SWT.HIDE_SELECTION) == 0) {
 		redrawItem (item.index, false);
 	}
@@ -622,7 +622,7 @@
 }
 /**
  * Deselects the items at the given zero-relative indices in the receiver.
- * If the item at the given zero-relative index in the receiver 
+ * If the item at the given zero-relative index in the receiver
  * is selected, it is deselected.  If the item at the index
  * was not selected, it remains deselected.  The range of the
  * indices is inclusive. Indices that are out of range are ignored.
@@ -649,7 +649,7 @@
 }
 /**
  * Deselects the items at the given zero-relative indices in the receiver.
- * If the item at the given zero-relative index in the receiver 
+ * If the item at the given zero-relative index in the receiver
  * is selected, it is deselected.  If the item at the index
  * was not selected, it remains deselected. Indices that are out
  * of range and duplicate indices are ignored.
@@ -757,7 +757,7 @@
 		for (int i = 0; i < columns.length; i++) {
 			newWidth += columns [i].width;
 		}
-		ScrollBar hBar = getHorizontalBar (); 
+		ScrollBar hBar = getHorizontalBar ();
 		if (hBar != null) {
 			hBar.setMaximum (newWidth);
 			hBar.setVisible (clientArea.width < newWidth);
@@ -807,7 +807,7 @@
 		items [index] = null;	/* last item, so no array copy needed */
 	}
 	itemsCount--;
-	
+
 	if (drawCount <= 0 && items.length - itemsCount == 4) {
 		/* shrink the items array */
 		CTableItem[] newItems = new CTableItem [itemsCount];
@@ -824,9 +824,9 @@
 	int oldTopIndex = topIndex;
 	updateVerticalBar ();
 	updateHorizontalBar (0, -rightX);
-	/* 
+	/*
 	 * If destroyed item is above viewport then adjust topIndex and the vertical
-	 * scrollbar so that the current viewport items will not change. 
+	 * scrollbar so that the current viewport items will not change.
 	 */
 	if (index < topIndex) {
 		topIndex = oldTopIndex - 1;
@@ -872,7 +872,7 @@
 	return (Image) display.getData (ID_ARROWUP);
 }
 int getCellPadding () {
-	return MARGIN_CELL + WIDTH_CELL_HIGHLIGHT; 
+	return MARGIN_CELL + WIDTH_CELL_HIGHLIGHT;
 }
 Image getCheckmarkImage () {
 	return (Image) display.getData (ID_CHECKMARK);
@@ -912,7 +912,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#getColumnOrder()
  * @see CTable#setColumnOrder(int[])
  * @see CTableColumn#getMoveable()
@@ -953,7 +953,7 @@
  * </p><p>
  * Note: This is not the actual structure used by the receiver
  * to maintain its list of items, so modifying the array will
- * not affect the receiver. 
+ * not affect the receiver.
  * </p>
  *
  * @return the current visual order of the receiver's items
@@ -962,12 +962,12 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#setColumnOrder(int[])
  * @see CTableColumn#getMoveable()
  * @see CTableColumn#setMoveable(boolean)
  * @see SWT#Move
- * 
+ *
  * @since 3.1
  */
 public int[] getColumnOrder () {
@@ -995,7 +995,7 @@
  * <p>
  * Note: This is not the actual structure used by the receiver
  * to maintain its list of items, so modifying the array will
- * not affect the receiver. 
+ * not affect the receiver.
  * </p>
  *
  * @return the items in the receiver
@@ -1004,7 +1004,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#getColumnOrder()
  * @see CTable#setColumnOrder(int[])
  * @see CTableColumn#getMoveable()
@@ -1024,7 +1024,7 @@
  * Returns the width in pixels of a grid line.
  *
  * @return the width of a grid line in pixels
- * 
+ *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
@@ -1035,7 +1035,7 @@
 	return 1;
 }
 /**
- * Returns the height of the receiver's header 
+ * Returns the height of the receiver's header
  *
  * @return the height of the header or zero if the header is not visible
  *
@@ -1043,8 +1043,8 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
- * @since 2.0 
+ *
+ * @since 2.0
  */
 public int getHeaderHeight () {
 	checkWidget ();
@@ -1052,7 +1052,7 @@
 	return header.getSize ().y;
 }
 int getHeaderPadding () {
-	return MARGIN_CELL + WIDTH_HEADER_SHADOW; 
+	return MARGIN_CELL + WIDTH_HEADER_SHADOW;
 }
 /**
  * Returns <code>true</code> if the receiver's header is visible,
@@ -1101,8 +1101,8 @@
  * coordinate system of the receiver.
  * <p>
  * The item that is returned represents an item that could be selected by the user.
- * For example, if selection only occurs in items in the first column, then null is 
- * returned if the point is outside of the item. 
+ * For example, if selection only occurs in items in the first column, then null is
+ * returned if the point is outside of the item.
  * Note that the SWT.FULL_SELECTION style hint, which specifies the selection policy,
  * determines the extent of the selection.
  * </p>
@@ -1158,11 +1158,11 @@
 }
 /**
  * Returns a (possibly empty) array of <code>TableItem</code>s which
- * are the items in the receiver. 
+ * are the items in the receiver.
  * <p>
  * Note: This is not the actual structure used by the receiver
  * to maintain its list of items, so modifying the array will
- * not affect the receiver. 
+ * not affect the receiver.
  * </p>
  *
  * @return the items in the receiver
@@ -1176,17 +1176,17 @@
 	checkWidget ();
 	CTableItem[] result = new CTableItem [itemsCount];
 	System.arraycopy (items, 0, result, 0, itemsCount);
-	return result;	
+	return result;
 }
 /*
- * Returns the current y-coordinate that the specified item should have. 
+ * Returns the current y-coordinate that the specified item should have.
  */
 int getItemY (CTableItem item) {
 	return (item.index - topIndex) * itemHeight + getHeaderHeight ();
 }
 /**
  * Returns <code>true</code> if the receiver's lines are visible,
- * and <code>false</code> otherwise. Note that some platforms draw 
+ * and <code>false</code> otherwise. Note that some platforms draw
  * grid lines while others may draw alternating row colors.
  * <p>
  * If one of the receiver's ancestors is not visible or some
@@ -1217,7 +1217,7 @@
  * <p>
  * Note: This is not the actual structure used by the receiver
  * to maintain its selection, so modifying the array will
- * not affect the receiver. 
+ * not affect the receiver.
  * </p>
  * @return an array representing the selection
  *
@@ -1280,7 +1280,7 @@
  * <p>
  * Note: This is not the actual structure used by the receiver
  * to maintain its selection, so modifying the array will
- * not affect the receiver. 
+ * not affect the receiver.
  * </p>
  * @return the array of indices of the selected items
  *
@@ -1303,15 +1303,15 @@
  * the receiver. The value may be null if no column shows
  * the sort indicator.
  *
- * @return the sort indicator 
+ * @return the sort indicator
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see #setSortColumn(CTableColumn)
- * 
+ *
  * @since 3.2
  */
 public CTableColumn getSortColumn () {
@@ -1319,8 +1319,8 @@
 	return sortColumn;
 }
 /**
- * Returns the direction of the sort indicator for the receiver. 
- * The value will be one of <code>UP</code>, <code>DOWN</code> 
+ * Returns the direction of the sort indicator for the receiver.
+ * The value will be one of <code>UP</code>, <code>DOWN</code>
  * or <code>NONE</code>.
  *
  * @return the sort direction
@@ -1329,9 +1329,9 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see #setSortDirection(int)
- * 
+ *
  * @since 3.2
  */
 public int getSortDirection () {
@@ -1398,7 +1398,7 @@
 		case SWT.MouseExit:
 			headerOnMouseExit (); break;
 		case SWT.Dispose:
-			onDispose (event); break;		
+			onDispose (event); break;
 		case SWT.KeyDown:
 			onKeyDown (event); break;
 		case SWT.Resize:
@@ -1414,7 +1414,7 @@
 		case SWT.FocusOut:
 			onFocusOut (); break;
 		case SWT.FocusIn:
-			onFocusIn (); break;	
+			onFocusIn (); break;
 		case SWT.Traverse:
 			switch (event.detail) {
 				case SWT.TRAVERSE_ESCAPE:
@@ -1426,7 +1426,7 @@
 					event.doit = true;
 					break;
 			}
-			break;			
+			break;
 	}
 }
 String headerGetToolTip (int x) {
@@ -1584,7 +1584,7 @@
 	if (resizeColumn == null) {
 		/* not currently resizing a column */
 		for (int i = 0; i < columns.length; i++) {
-			CTableColumn column = columns [i]; 
+			CTableColumn column = columns [i];
 			int x = column.getX () + column.width;
 			if (Math.abs (x - event.x) <= TOLLERANCE_COLUMNRESIZE) {
 				if (column.resizable) {
@@ -1598,9 +1598,9 @@
 		setCursor (null);
 		return;
 	}
-	
+
 	/* currently resizing a column */
-	
+
 	/* don't allow the resize x to move left of the column's x position */
 	if (event.x <= resizeColumn.getX ()) return;
 
@@ -1651,7 +1651,7 @@
 
 	/* if all damage is to the right of the last column then finished */
 	if (startColumn == -1) return;
-	
+
 	/* paint each of the column headers */
 	if (numColumns == 0) return;	/* no headers to paint */
 	for (int i = startColumn; i <= endColumn; i++) {
@@ -1712,7 +1712,7 @@
 	toolTipLabel.setSize (labelSize);
 	toolTipShell.pack ();
 	/*
-	 * On some platforms, there is a minimum size for a shell  
+	 * On some platforms, there is a minimum size for a shell
 	 * which may be greater than the label size.
 	 * To avoid having the background of the tip shell showing
 	 * around the label, force the label to fill the entire client area.
@@ -1722,7 +1722,7 @@
 
 	/* Position the tooltip and ensure it's not located off the screen */
 	Point cursorLocation = getDisplay ().getCursorLocation ();
-	int cursorHeight = 21;	/* assuming cursor is 21x21 */ 
+	int cursorHeight = 21;	/* assuming cursor is 21x21 */
 	Point size = toolTipShell.getSize ();
 	Rectangle rect = getMonitor ().getBounds ();
 	Point pt = new Point (cursorLocation.x, cursorLocation.y + cursorHeight + 2);
@@ -1734,7 +1734,7 @@
 }
 /**
  * Searches the receiver's list starting at the first column
- * (index 0) until a column is found that is equal to the 
+ * (index 0) until a column is found that is equal to the
  * argument, and returns the index of that column. If no column
  * is found, returns -1.
  *
@@ -1757,7 +1757,7 @@
 }
 /**
  * Searches the receiver's list starting at the first item
- * (index 0) until an item is found that is equal to the 
+ * (index 0) until an item is found that is equal to the
  * argument, and returns the index of that item. If no item
  * is found, returns -1.
  *
@@ -2221,7 +2221,7 @@
 			return;
 		}
 		/* CTRL+Down Arrow */
-		int focusIndex = focusItem.index; 
+		int focusIndex = focusItem.index;
 		if (focusIndex == itemsCount - 1) return;	/* at bottom */
 		CTableItem newFocusItem = items [focusIndex + 1];
 		setFocusItem (newFocusItem, true);
@@ -2266,7 +2266,7 @@
 		gc.dispose();
 	}
 	horizontalOffset = newSelection;
-	ScrollBar hBar = getHorizontalBar (); 
+	ScrollBar hBar = getHorizontalBar ();
 	if (hBar != null) hBar.setSelection (horizontalOffset);
 }
 void onArrowRight (int stateMask) {
@@ -2359,7 +2359,7 @@
 			return;
 		}
 		/* CTRL+Up Arrow */
-		int focusIndex = focusItem.index; 
+		int focusIndex = focusItem.index;
 		if (focusIndex == 0) return;	/* at top */
 		CTableItem newFocusItem = items [focusIndex - 1];
 		setFocusItem (newFocusItem, true);
@@ -2421,7 +2421,7 @@
 	if ((stateMask & (SWT.CTRL | SWT.SHIFT)) == 0) {
 		/* End with no modifiers */
 		if (focusItem.index == lastAvailableIndex) return; 	/* at bottom */
-		CTableItem item = items [lastAvailableIndex]; 
+		CTableItem item = items [lastAvailableIndex];
 		selectItem (item, false);
 		setFocusItem (item, true);
 		redrawItem (lastAvailableIndex, true);
@@ -2440,7 +2440,7 @@
 		}
 		/* Shift+End */
 		if (focusItem.index == lastAvailableIndex) return; /* at bottom */
-		CTableItem item = items [lastAvailableIndex]; 
+		CTableItem item = items [lastAvailableIndex];
 		selectItem (item, false);
 		setFocusItem (item, true);
 		redrawItem (lastAvailableIndex, true);
@@ -2639,7 +2639,7 @@
 		return;
 	}
 	if ((event.stateMask & SWT.CTRL) != 0) return;
-	
+
 	int initialIndex = focusItem.index;
 	char character = Character.toLowerCase (event.character);
 	/* check available items from current focus item to bottom */
@@ -2682,15 +2682,15 @@
 	int index = (event.y - getHeaderHeight ()) / itemHeight + topIndex;
 	if  (!(0 <= index && index < itemsCount)) return;	/* not on an available item */
 	CTableItem selectedItem = items [index];
-	
-	/* 
+
+	/*
 	 * If the two clicks of the double click did not occur over the same item then do not
 	 * consider this to be a default selection.
 	 */
 	if (selectedItem != lastClickedItem) return;
 
 	if (!selectedItem.getHitBounds ().contains (event.x, event.y)) return;	/* considers x */
-	
+
 	Event newEvent = new Event ();
 	newEvent.item = selectedItem;
 	notifyListeners (SWT.DefaultSelection, newEvent);
@@ -2700,7 +2700,7 @@
 	int index = (event.y - getHeaderHeight ()) / itemHeight + topIndex;
 	if (!(0 <= index && index < itemsCount)) return;	/* not on an available item */
 	CTableItem selectedItem = items [index];
-	
+
 	/* if click was in checkbox */
 	if ((getStyle () & SWT.CHECK) != 0 && selectedItem.getCheckboxBounds ().contains (event.x, event.y)) {
 		if (event.button != 1) return;
@@ -2711,7 +2711,7 @@
 		notifyListeners (SWT.Selection, newEvent);
 		return;
 	}
-	
+
 	if (!selectedItem.getHitBounds ().contains (event.x, event.y)) return;
 
 	if ((event.stateMask & SWT.SHIFT) == 0 && event.keyCode != SWT.SHIFT) anchorItem = null;
@@ -3176,9 +3176,9 @@
 			clientArea = getClientArea ();
 		}
 	}
-	
-	/* horizontal scrollbar */ 
-	ScrollBar hBar = getHorizontalBar (); 
+
+	/* horizontal scrollbar */
+	ScrollBar hBar = getHorizontalBar ();
 	if (hBar != null) {
 		int hBarMaximum = hBar.getMaximum ();
 		int thumb = Math.min (clientArea.width, hBarMaximum);
@@ -3191,16 +3191,16 @@
 			clientArea = getClientArea ();
 		}
 	}
-	
+
 	/* header */
 	int headerHeight = Math.max (fontHeight, headerImageHeight) + 2 * getHeaderPadding ();
 	header.setSize (clientArea.width, headerHeight);
-	
+
 	/* if this is the focus control but there are no items then the boundary focus ring must be repainted */
 	if (itemsCount == 0 && isFocusControl ()) redraw ();
 }
 void onScrollHorizontal (Event event) {
-	ScrollBar hBar = getHorizontalBar (); 
+	ScrollBar hBar = getHorizontalBar ();
 	if (hBar == null) return;
 	int newSelection = hBar.getSelection ();
 	update ();
@@ -3266,8 +3266,8 @@
  */
 void reassignFocus () {
 	if (focusItem == null) return;
-	
-	/* 
+
+	/*
 	 * reassign to the previous root-level item if there is one, or the next
 	 * root-level item otherwise
 	 */
@@ -3295,7 +3295,7 @@
 	checkWidget ();
 	if (drawCount <= 0) super.redraw (x, y, width, height, all);
 }
-/* 
+/*
  * Redraws from the specified index down to the last available item inclusive.  Note
  * that the redraw bounds do not extend beyond the current last item, so clients
  * that reduce the number of available items should use #redrawItems(int,int) instead
@@ -3380,7 +3380,7 @@
 }
 /**
  * Removes the items from the receiver which are
- * between the given zero-relative start and end 
+ * between the given zero-relative start and end
  * indices (inclusive).
  *
  * @param start the start of the range
@@ -3406,7 +3406,7 @@
 		for (int i = end; i >= start; i--) {
 			items [i].dispose ();
 		}
-		
+
 		int[] eventData = new int[5];
 		eventData[0] = ACC.DELETE;
 		eventData[1] = start;
@@ -3460,7 +3460,7 @@
 }
 /**
  * Removes all of the items from the receiver.
- * 
+ *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
@@ -3489,7 +3489,7 @@
 	eventData[3] = 0;
 	eventData[4] = 0;
 	getAccessible().sendEvent(ACC.EVENT_TABLE_CHANGED, eventData);
-	
+
 	ScrollBar vBar = getVerticalBar ();
 	if (vBar != null) {
 		vBar.setMaximum (1);
@@ -3497,7 +3497,7 @@
 	}
 	if (columns.length == 0) {
 		horizontalOffset = 0;
-		ScrollBar hBar = getHorizontalBar (); 
+		ScrollBar hBar = getHorizontalBar ();
 		if (hBar != null) {
 			hBar.setMaximum (1);
 			hBar.setVisible (false);
@@ -3550,10 +3550,10 @@
 	checkWidget ();
 	if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
 	removeListener (SWT.Selection, listener);
-	removeListener (SWT.DefaultSelection, listener);	
+	removeListener (SWT.DefaultSelection, listener);
 }
 /**
- * Selects the item at the given zero-relative index in the receiver. 
+ * Selects the item at the given zero-relative index in the receiver.
  * If the item at the index was already selected, it remains
  * selected. Indices that are out of range are ignored.
  *
@@ -3593,7 +3593,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#setSelection(int,int)
  */
 public void select (int start, int end) {
@@ -3630,7 +3630,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#setSelection(int[])
  */
 public void select (int [] indices) {
@@ -3703,17 +3703,17 @@
 @Override
 public void setBackground (Color color) {
 	checkWidget ();
-	if (color == null) color = display.getSystemColor (SWT.COLOR_LIST_BACKGROUND); 
+	if (color == null) color = display.getSystemColor (SWT.COLOR_LIST_BACKGROUND);
 	super.setBackground (color);
 }
 @Override
 public void setForeground (Color color) {
 	checkWidget ();
-	if (color == null) color = display.getSystemColor (SWT.COLOR_LIST_FOREGROUND); 
+	if (color == null) color = display.getSystemColor (SWT.COLOR_LIST_FOREGROUND);
 	super.setForeground (color);
 }
 /**
- * Sets the order that the items in the receiver should 
+ * Sets the order that the items in the receiver should
  * be displayed in to the given argument which is described
  * in terms of the zero-relative ordering of when the items
  * were added.
@@ -3728,12 +3728,12 @@
  *    <li>ERROR_NULL_ARGUMENT - if the item order is null</li>
  *    <li>ERROR_INVALID_ARGUMENT - if the item order is not the same length as the number of items</li>
  * </ul>
- * 
+ *
  * @see CTable#getColumnOrder()
  * @see CTableColumn#getMoveable()
  * @see CTableColumn#setMoveable(boolean)
  * @see SWT#Move
- * 
+ *
  * @since 3.1
  */
 public void setColumnOrder (int [] order) {
@@ -3792,9 +3792,9 @@
 	super.setFont (value);
 	Font font = getFont ();
 	if (font.equals (oldFont)) return;
-		
+
 	GC gc = new GC (this);
-	
+
 	/* recompute the receiver's cached font height and item height values */
 	fontHeight = gc.getFontMetrics ().getHeight ();
 	setItemHeight (Math.max (fontHeight, imageHeight) + 2 * getCellPadding ());
@@ -3805,7 +3805,7 @@
 	}
 	header.setFont (font);
 
-	/* 
+	/*
 	 * Notify all columns and items of the font change so that elements that
 	 * use the receiver's font can recompute their cached string widths.
 	 */
@@ -3815,11 +3815,11 @@
 	for (int i = 0; i < itemsCount; i++) {
 		items [i].updateFont (gc);
 	}
-	
+
 	gc.dispose ();
-	
+
 	if (drawCount <= 0 && header.isVisible ()) header.redraw ();
-	
+
 	/* update scrollbars */
 	if (columns.length == 0) updateHorizontalBar ();
 	ScrollBar vBar = getVerticalBar ();
@@ -3842,7 +3842,7 @@
 }
 /**
  * Marks the receiver's header as visible if the argument is <code>true</code>,
- * and marks it invisible otherwise. 
+ * and marks it invisible otherwise.
  * <p>
  * If one of the receiver's ancestors is not visible or some
  * other condition makes the receiver not visible, marking
@@ -3886,7 +3886,7 @@
 	if (count == itemsCount) return;
 	int oldCount = itemsCount;
 	int redrawStart, redrawEnd;
-	
+
 	/* if the new item count is less than the current count then remove all excess items from the end */
 	if (count < itemsCount) {
 		redrawStart = count;
@@ -3915,7 +3915,7 @@
 		if (anchorItem != null && anchorItem.isDisposed ()) anchorItem = null;
 		if (lastClickedItem != null && lastClickedItem.isDisposed ()) lastClickedItem = null;
 		if (focusItem != null && focusItem.isDisposed ()) {
-			CTableItem newFocusItem = count > 0 ? items [count - 1] : null; 
+			CTableItem newFocusItem = count > 0 ? items [count - 1] : null;
 			setFocusItem (newFocusItem, false);
 		}
 		int[] eventData = new int[5];
@@ -3961,7 +3961,7 @@
 	redrawItems (redrawStart, redrawEnd, false);
 }
 boolean setItemHeight (int value) {
-	boolean update = !customHeightSet || itemHeight < value; 
+	boolean update = !customHeightSet || itemHeight < value;
 	if (update) itemHeight = value;
 	return update;
 }
@@ -4029,7 +4029,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public void setSelection (CTableItem item) {
@@ -4072,7 +4072,7 @@
 		return;
 	}
 	CTableItem[] oldSelection = selectedItems;
-	
+
 	/* remove null and duplicate items */
 	int index = 0;
 	selectedItems = new CTableItem [items.length];	/* assume all valid items */
@@ -4112,24 +4112,24 @@
 		showItem (selectedItems [0]);
 		setFocusItem (selectedItems [0], true);
 	}
-	
+
 	if (tableSelectionChanged) getAccessible().selectionChanged();
 }
 /**
  * Sets the column used by the sort indicator for the receiver. A null
- * value will clear the sort indicator.  The current sort column is cleared 
+ * value will clear the sort indicator.  The current sort column is cleared
  * before the new column is set.
  *
  * @param column the column used by the sort indicator or <code>null</code>
- * 
+ *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the column is disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the column is disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public void setSortColumn (CTableColumn column) {
@@ -4145,16 +4145,16 @@
 	}
 }
 /**
- * Sets the direction of the sort indicator for the receiver. The value 
+ * Sets the direction of the sort indicator for the receiver. The value
  * can be one of <code>UP</code>, <code>DOWN</code> or <code>NONE</code>.
  *
- * @param direction the direction of the sort indicator 
+ * @param direction the direction of the sort indicator
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public void setSortDirection (int direction) {
@@ -4165,7 +4165,7 @@
 	sortColumn.setSortDirection (sortDirection);
 }
 /**
- * Selects the item at the given zero-relative index in the receiver. 
+ * Selects the item at the given zero-relative index in the receiver.
  * The current selection is first cleared, then the new item is selected.
  *
  * @param index the index of the item to select
@@ -4198,7 +4198,7 @@
  * If the receiver is single-select and there is more than one item in the
  * given range, then all indices are ignored.
  * </p>
- * 
+ *
  * @param start the start index of the items to select
  * @param end the end index of the items to select
  *
@@ -4329,7 +4329,7 @@
 	} else {
 		horizontalOffset = absX + column.width - clientArea.width;
 	}
-	ScrollBar hBar = getHorizontalBar (); 
+	ScrollBar hBar = getHorizontalBar ();
 	if (hBar != null) hBar.setSelection (horizontalOffset);
 	redraw ();
 	if (drawCount <= 0 && header.isVisible ()) header.redraw ();
@@ -4357,12 +4357,12 @@
 	if (item == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
 	if (item.isDisposed ()) SWT.error (SWT.ERROR_INVALID_ARGUMENT);
 	if (item.parent != this) return;
-	
+
 	int index = item.index;
 	int visibleItemCount = (clientArea.height - getHeaderHeight ()) / itemHeight;
 	/* nothing to do if item is already in viewport */
 	if (topIndex <= index && index < topIndex + visibleItemCount) return;
-	
+
 	if (index <= topIndex) {
 		/* item is above current viewport, so show on top */
 		setTopIndex (item.index);
@@ -4446,7 +4446,7 @@
 	if (width > oldWidth) {
 		/* column width grew */
 		int change = width - oldWidth + 1;	/* +1 offsets x's -1 above */
-		/* -1/+1 below ensure that right bound of selection redraws correctly in column */ 
+		/* -1/+1 below ensure that right bound of selection redraws correctly in column */
 		redraw (x - 1, 0, change + 1, clientArea.height, false);
 	} else {
 		int change = oldWidth - width + 1;	/* +1 offsets x's -1 above */
@@ -4522,7 +4522,7 @@
 	if (drawCount > 0) return;
 	ScrollBar hBar = getHorizontalBar ();
 	if (hBar == null) return;
-	
+
 	int maxX = 0;
 	if (columns.length > 0) {
 		for (int i = 0; i < columns.length; i++) {
@@ -4534,7 +4534,7 @@
 			maxX = Math.max (maxX, itemBounds.x + itemBounds.width + horizontalOffset);
 		}
 	}
-	
+
 	int clientWidth = clientArea.width;
 	if (maxX != hBar.getMaximum ()) {
 		hBar.setMaximum (Math.max (1, maxX));	/* setting a value of 0 here is ignored */
@@ -4545,7 +4545,7 @@
 		hBar.setPageIncrement (thumb);
 	}
 	hBar.setVisible (clientWidth < maxX);
-	
+
 	/* reclaim any space now left on the right */
 	if (maxX < horizontalOffset + thumb) {
 		horizontalOffset = maxX - thumb;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableColumn.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableColumn.java
index 50e9243..37723c1 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableColumn.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableColumn.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.swt.examples.accessibility;
- 
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.SWTException;
 import org.eclipse.swt.accessibility.ACC;
@@ -67,7 +67,7 @@
  * <p>
  * The style value is either one of the style constants defined in
  * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
+ * class, or must be built by <em>bitwise OR</em>'ing together
  * (that is, using the <code>int</code> "|" operator) two or more
  * of those <code>SWT</code> style constants. The class description
  * lists the style constants that are applicable to the class.
@@ -102,7 +102,7 @@
  * <p>
  * The style value is either one of the style constants defined in
  * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
+ * class, or must be built by <em>bitwise OR</em>'ing together
  * (that is, using the <code>int</code> "|" operator) two or more
  * of those <code>SWT</code> style constants. The class description
  * lists the style constants that are applicable to the class.
@@ -203,7 +203,7 @@
 	return CTable.checkBits (style, SWT.LEFT, SWT.CENTER, SWT.RIGHT, 0, 0, 0);
 }
 void computeDisplayText (GC gc) {
-	int availableWidth = width - 2 * parent.getHeaderPadding (); 
+	int availableWidth = width - 2 * parent.getHeaderPadding ();
 	if (super.getImage () != null) {
 		availableWidth -= super.getImage ().getBounds ().width;
 		availableWidth -= CTable.MARGIN_IMAGE;
@@ -218,7 +218,7 @@
 		displayText = text;
 		return;
 	}
-	
+
 	/* Ellipsis will be needed, so subtract their width from the available text width */
 	int ellipsisWidth = gc.stringExtent (CTable.ELLIPSIS).x;
 	availableWidth -= ellipsisWidth;
@@ -226,7 +226,7 @@
 		displayText = CTable.ELLIPSIS;
 		return;
 	}
-	
+
 	/* Make initial guess. */
 	int index = Math.min (availableWidth / gc.getFontMetrics ().getAverageCharWidth (), text.length ());
 	textWidth = gc.textExtent (text.substring (0, index), SWT.DRAW_MNEMONIC).x;
@@ -251,7 +251,7 @@
 		displayText = text + CTable.ELLIPSIS;
 		return;
 	}
-	
+
 	/* Initial guess is too low, so increase until overrun is found. */
 	while (textWidth < availableWidth) {
 		index++;
@@ -272,7 +272,7 @@
 
 	int width = parentBounds.width - x;
 	parent.redraw (x, 0, width, parentBounds.height, false);
-	/* 
+	/*
 	 * If column 0 was disposed then the new column 0 must be redrawn if it appears to the
 	 * left of the disposed column in the column order AND one the following are true:
 	 * - the parent has style CHECK, since these will now appear in the new column 0
@@ -283,7 +283,7 @@
 		if (parent.columns.length > 0) {
 			CTableColumn newColumn0 = parent.columns [0];
 			if (newColumn0.getOrderIndex () < orderIndex) {
-				int newColumn0x = newColumn0.getX (); 
+				int newColumn0x = newColumn0.getX ();
 				parent.redraw (newColumn0x, 0, newColumn0.width, parentBounds.height, false);
 				/* if the alignment changed then the header text must be repainted with its new alignment */
 				if (nextColumnAlignment != SWT.LEFT && parent.getHeaderVisible () && parent.drawCount <= 0) {
@@ -310,7 +310,7 @@
  * text or image in the receiver. The value will be one of
  * <code>LEFT</code>, <code>RIGHT</code> or <code>CENTER</code>.
  *
- * @return the alignment 
+ * @return the alignment
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -354,8 +354,8 @@
 }
 /**
  * Gets the moveable attribute. A column that is
- * not moveable cannot be reordered by the user 
- * by dragging the header but may be reordered 
+ * not moveable cannot be reordered by the user
+ * by dragging the header but may be reordered
  * by the programmer.
  *
  * @return the moveable attribute
@@ -364,12 +364,12 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#getColumnOrder()
  * @see CTable#setColumnOrder(int[])
  * @see CTableColumn#setMoveable(boolean)
  * @see SWT#Move
- * 
+ *
  * @since 3.1
  */
 public boolean getMoveable () {
@@ -377,7 +377,7 @@
 	return moveable;
 }
 int getOrderIndex () {
-	CTableColumn[] orderedColumns = parent.orderedColumns; 
+	CTableColumn[] orderedColumns = parent.orderedColumns;
 	if (orderedColumns == null) return getIndex ();
 	for (int i = 0; i < orderedColumns.length; i++) {
 		if (orderedColumns [i] == this) return i;
@@ -431,7 +431,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public String getToolTipText () {
@@ -489,15 +489,15 @@
 }
 void paint (GC gc) {
 	int padding = parent.getHeaderPadding ();
-	
+
 	int x = getX ();
 	int startX = x + padding;
 	if ((getStyle () & SWT.LEFT) == 0) {
 		int contentWidth = getContentWidth (gc, true);
 		if ((getStyle () & SWT.RIGHT) != 0) {
-			startX = Math.max (startX, x + width - padding - contentWidth);	
+			startX = Math.max (startX, x + width - padding - contentWidth);
 		} else {	/* SWT.CENTER */
-			startX = Math.max (startX, x + (width - contentWidth) / 2);	
+			startX = Math.max (startX, x + (width - contentWidth) / 2);
 		}
 	}
 	int headerHeight = parent.getHeaderHeight ();
@@ -508,7 +508,7 @@
 		padding,
 		width - 2 * padding,
 		headerHeight - 2 * padding);
-	
+
 	if (super.getImage () != null) {
 		Rectangle imageBounds = super.getImage ().getBounds ();
 		int drawHeight = Math.min (imageBounds.height, headerHeight - 2 * padding);
@@ -517,8 +517,8 @@
 			0, 0,
 			imageBounds.width, imageBounds.height,
 			startX, (headerHeight - drawHeight) / 2,
-			imageBounds.width, drawHeight); 
-		startX += imageBounds.width + CTable.MARGIN_IMAGE; 
+			imageBounds.width, drawHeight);
+		startX += imageBounds.width + CTable.MARGIN_IMAGE;
 	}
 	if (displayText.length () > 0) {
 		gc.setForeground (getParent ().display.getSystemColor (SWT.COLOR_BLACK));
@@ -586,7 +586,7 @@
  * Note that due to a restriction on some platforms, the first column
  * is always left aligned.
  * </p>
- * @param alignment the new alignment 
+ * @param alignment the new alignment
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -626,12 +626,12 @@
 	if (value == super.getImage ()) return;
 	if (value != null && value.equals (super.getImage ())) return;	/* same value */
 	super.setImage (value);
-	
+
 	/* An image width change may affect the space available for the column's displayText. */
 	GC gc = new GC (parent);
 	computeDisplayText (gc);
 	gc.dispose ();
-	
+
 	/*
 	 * If this is the first image being put into the header then the header
 	 * height may be adjusted, in which case a full redraw is needed.
@@ -648,7 +648,7 @@
 			return;
 		}
 	}
-	
+
 	if (parent.drawCount <= 0 && parent.getHeaderVisible ()) {
 		/* don't damage the header's drawn borders */
 		parent.header.redraw (getX (), 1, width - 2, parent.getHeaderHeight () - 3, false);
@@ -657,8 +657,8 @@
 /**
  * Sets the moveable attribute.  A column that is
  * moveable can be reordered by the user by dragging
- * the header. A column that is not moveable cannot be 
- * dragged by the user but may be reordered 
+ * the header. A column that is not moveable cannot be
+ * dragged by the user but may be reordered
  * by the programmer.
  *
  * @param moveable the moveable attribute
@@ -667,12 +667,12 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @see CTable#setColumnOrder(int[])
  * @see CTable#getColumnOrder()
  * @see CTableColumn#getMoveable()
  * @see SWT#Move
- * 
+ *
  * @since 3.1
  */
 public void setMoveable (boolean moveable) {
@@ -682,8 +682,8 @@
 /**
  * Sets the resizable attribute.  A column that is
  * resizable can be resized by the user dragging the
- * edge of the header.  A column that is not resizable 
- * cannot be dragged by the user but may be resized 
+ * edge of the header.  A column that is not resizable
+ * cannot be dragged by the user but may be resized
  * by the programmer.
  *
  * @param resizable the resize attribute
@@ -702,7 +702,7 @@
 	boolean widthChange = value == SWT.NONE || sort == SWT.NONE;
 	sort = value;
 	if (widthChange) {
-		/* 
+		/*
 		 * adding/removing the sort arrow decreases/increases the width that is
 		 * available for the column's header text, so recompute the display text
 		 */
@@ -731,24 +731,24 @@
 }
 /**
  * Sets the receiver's tool tip text to the argument, which
- * may be null indicating that the default tool tip for the 
+ * may be null indicating that the default tool tip for the
  * control will be shown. For a control that has a default
  * tool tip, such as the Tree control on Windows, setting
  * the tool tip text to an empty string replaces the default,
  * causing no tool tip text to be shown.
  * <p>
  * The mnemonic indicator (character '&amp;') is not displayed in a tool tip.
- * To display a single '&amp;' in the tool tip, the character '&amp;' can be 
+ * To display a single '&amp;' in the tool tip, the character '&amp;' can be
  * escaped by doubling it in the string.
  * </p>
- * 
+ *
  * @param string the new tool tip text (or null)
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public void setToolTipText (String string) {
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableItem.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableItem.java
index e17b85f..e7fb736 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableItem.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/accessibility/CTableItem.java
@@ -68,7 +68,7 @@
 	Font font;
 	Font[] cellFonts;
 	Display display;
-	
+
 	static final int MARGIN_TEXT = 3;			/* the left and right margins within the text's space */
 
 /**
@@ -79,7 +79,7 @@
  * <p>
  * The style value is either one of the style constants defined in
  * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
+ * class, or must be built by <em>bitwise OR</em>'ing together
  * (that is, using the <code>int</code> "|" operator) two or more
  * of those <code>SWT</code> style constants. The class description
  * lists the style constants that are applicable to the class.
@@ -112,7 +112,7 @@
  * <p>
  * The style value is either one of the style constants defined in
  * class <code>SWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
+ * class, or must be built by <em>bitwise OR</em>'ing together
  * (that is, using the <code>int</code> "|" operator) two or more
  * of those <code>SWT</code> style constants. The class description
  * lists the style constants that are applicable to the class.
@@ -191,7 +191,7 @@
 			images [1] = super.getImage ();
 			super.setImage (null);
 		}
-		
+
 		int[] newTextWidths = new int [columnCount];
 		System.arraycopy (textWidths, 0, newTextWidths, 0, index);
 		System.arraycopy (textWidths, index, newTextWidths, index + 1, columnCount - index - 1);
@@ -202,7 +202,7 @@
 
 	/*
 	 * The length of displayTexts always matches the parent's column count, unless this
-	 * count is zero, in which case displayTexts is null.  
+	 * count is zero, in which case displayTexts is null.
 	 */
 	String[] newDisplayTexts = new String [columnCount];
 	if (columnCount > 1) {
@@ -243,9 +243,9 @@
 	}
 
 	if (index == 0 && columnCount > 1) {
-		/* 
+		/*
 		 * The new second column may have more width available to it than it did when it was
-		 * the first column if checkboxes are being shown, so recompute its displayText if needed. 
+		 * the first column if checkboxes are being shown, so recompute its displayText if needed.
 		 */
 		if ((parent.getStyle () & SWT.CHECK) != 0) {
 			GC gc = new GC (parent);
@@ -358,7 +358,7 @@
 		textWidths [columnIndex] = textWidth + ellipsisWidth;
 		return;
 	}
-	
+
 	/* Initial guess is too low, so increase until overrun is found. */
 	int previousWidth = 0;
 	while (textWidth < availableWidth) {
@@ -461,7 +461,7 @@
 			}
 			@Override
 			public void getFocus(AccessibleControlEvent e) {
-				e.childID = (parent.focusItem == CTableItem.this && parent.isFocusControl()) ? 
+				e.childID = (parent.focusItem == CTableItem.this && parent.isFocusControl()) ?
 						ACC.CHILDID_SELF : ACC.CHILDID_NONE;
 			}
 			@Override
@@ -538,7 +538,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 2.0
  */
 public Color getBackground () {
@@ -557,7 +557,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public Color getBackground (int columnIndex) {
@@ -578,7 +578,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.2
  */
 public Rectangle getBounds () {
@@ -630,10 +630,10 @@
 			width,
 			parent.itemHeight - 1);
 	}
-	
+
 	CTableColumn column = columns [columnIndex];
 	if (columnIndex == 0) {
-		/* 
+		/*
 		 * For column 0 this is bounds from the beginning of the content to the
 		 * end of the column.
 		 */
@@ -733,7 +733,7 @@
 	int contentWidth = getContentWidth (columnIndex);
 	int contentX = 0;
 	if ((column.getStyle () & SWT.RIGHT) != 0) {
-		contentX = column.width - parent.getCellPadding () - contentWidth;	
+		contentX = column.width - parent.getCellPadding () - contentWidth;
 	} else {	/* SWT.CENTER */
 		contentX = (column.width - contentWidth) / 2;
 	}
@@ -853,7 +853,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 2.0
  */
 public Color getForeground () {
@@ -863,7 +863,7 @@
 	return parent.getForeground ();
 }
 /**
- * 
+ *
  * Returns the foreground color at the given column index in the receiver.
  *
  * @param index the column index
@@ -873,7 +873,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public Color getForeground (int columnIndex) {
@@ -917,13 +917,13 @@
 	} else {
 		contentX = getContentX (0);
 	}
-	
+
 	int width = 0;
 	CTableColumn[] columns = parent.columns;
 	if (columns.length == 0) {
 		width = getContentWidth (0);
 	} else {
-		/* 
+		/*
 		 * If there are columns then this spans from the beginning of the receiver's column 0
 		 * image or text to the end of either column 0 or the last column (FULL_SELECTION).
 		 */
@@ -991,7 +991,7 @@
 	int itemHeight = parent.itemHeight;
 	int imageSpaceY = itemHeight - 2 * padding;
 	int y = parent.getItemY (this);
-	Image image = getImage (columnIndex, false); 
+	Image image = getImage (columnIndex, false);
 	int drawWidth = 0;
 	if (columnIndex == 0) {
 		/* for column 0 all images have the same width */
@@ -1126,7 +1126,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.3
  */
 public Rectangle getTextBounds (int columnIndex) {
@@ -1151,10 +1151,10 @@
 			width,
 			parent.itemHeight - 1);
 	}
-	
+
 	CTableColumn column = columns [columnIndex];
 	if (columnIndex == 0) {
-		/* 
+		/*
 		 * For column 0 this is bounds from the beginning of the content to the
 		 * end of the column, starting from the text.
 		 */
@@ -1182,7 +1182,7 @@
 	} else {
 		Image image = getImage (columnIndex, false);
 		if (image != null) {
-			textX += image.getBounds ().width + CTable.MARGIN_IMAGE;	
+			textX += image.getBounds ().width + CTable.MARGIN_IMAGE;
 		}
 	}
 	return textX;
@@ -1215,7 +1215,7 @@
 		x = column.getX ();
 	}
 
-	/* 
+	/*
 	 * Capture GC attributes that will need to be restored later in the paint
 	 * process to ensure that the item paints as intended without being affected
 	 * by GC changes made in MeasureItem/EraseItem/PaintItem callbacks.
@@ -1284,7 +1284,7 @@
 
 	/* restrict the clipping region to the cell */
 	gc.setClipping (x, cellBounds.y, clientArea.width - x, cellBounds.height);
-	
+
 	int y = parent.getItemY (this);
 	int itemHeight = parent.itemHeight;
 
@@ -1434,7 +1434,7 @@
 		String text = getDisplayText (columnIndex);
 		Rectangle imageArea = getImageBounds (columnIndex);
 		int startX = imageArea.x;
-		
+
 		/* while painting the cell's content restrict the clipping region */
 		int padding = parent.getCellPadding ();
 		gc.setClipping (
@@ -1442,7 +1442,7 @@
 			cellBounds.y + padding - (parent.linesVisible ? 1 : 0),
 			cellRightX - startX - padding,
 			cellBounds.height - 2 * (padding - (parent.linesVisible ? 1 : 0)));
-	
+
 		/* draw the image */
 		if (image != null) {
 			Rectangle imageBounds = image.getBounds ();
@@ -1453,7 +1453,7 @@
 				imageArea.x, imageArea.y,				/* dest x, y */
 				imageArea.width, imageArea.height);		/* dest width, height */
 		}
-	
+
 		/* draw the text */
 		if (text.length () > 0) {
 			gc.setFont (getFont (columnIndex, false));
@@ -1548,7 +1548,7 @@
 	System.arraycopy (texts, 0, newTexts, 0, index);
 	System.arraycopy (texts, index + 1, newTexts, index, columnCount - index);
 	texts = newTexts;
-	
+
 	Image[] newImages = new Image [columnCount];
 	System.arraycopy (images, 0, newImages, 0, index);
 	System.arraycopy (images, index + 1, newImages, index, columnCount - index);
@@ -1600,9 +1600,9 @@
 		texts [0] = null;
 		super.setImage(images [0]);
 		images [0] = null;
-		/* 
+		/*
 		 * The new first column may not have as much width available to it as it did when it was
-		 * the second column if checkboxes are being shown, so recompute its displayText if needed. 
+		 * the second column if checkboxes are being shown, so recompute its displayText if needed.
 		 */
 		if ((parent.getStyle () & SWT.CHECK) != 0) {
 			GC gc = new GC (parent);
@@ -1624,13 +1624,13 @@
  * @param color the new color (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 2.0
  */
 public void setBackground (Color color) {
@@ -1646,7 +1646,7 @@
 	redrawItem ();
 }
 /**
- * Sets the background color at the given column index in the receiver 
+ * Sets the background color at the given column index in the receiver
  * to the color specified by the argument, or to the default system color for the item
  * if the argument is null.
  *
@@ -1654,13 +1654,13 @@
  * @param color the new color (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public void setBackground (int columnIndex, Color color) {
@@ -1686,7 +1686,7 @@
 	}
 }
 /**
- * Sets the checked state of the checkbox for this item.  This state change 
+ * Sets the checked state of the checkbox for this item.  This state change
  * only applies if the Table was created with the SWT.CHECK style.
  *
  * @param checked the new checked state of the checkbox
@@ -1720,13 +1720,13 @@
  * @param font the new font (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public void setFont (Font font) {
@@ -1738,7 +1738,7 @@
 	if (oldFont == font) return;
 	this.font = font;
 	if (oldFont != null && oldFont.equals (font)) return;
-	
+
 	Rectangle bounds = getBounds (false);
 	int oldRightX = bounds.x + bounds.width;
 	if ((parent.getStyle () & SWT.VIRTUAL) != 0) cached = true;
@@ -1750,7 +1750,7 @@
 	computeDisplayTexts (gc);
 	computeTextWidths (gc);
 	gc.dispose ();
-	
+
 	/* horizontal bar could be affected if table has no columns */
 	if (parent.columns.length == 0) {
 		bounds = getBounds (false);
@@ -1761,21 +1761,21 @@
 }
 /**
  * Sets the font that the receiver will use to paint textual information
- * for the specified cell in this item to the font specified by the 
- * argument, or to the default font for that kind of control if the 
+ * for the specified cell in this item to the font specified by the
+ * argument, or to the default font for that kind of control if the
  * argument is null.
  *
  * @param index the column index
  * @param font the new font (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public void setFont (int columnIndex, Font font) {
@@ -1817,13 +1817,13 @@
  * @param color the new color (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 2.0
  */
 public void setForeground (Color color) {
@@ -1839,7 +1839,7 @@
 	redrawItem ();
 }
 /**
- * Sets the foreground color at the given column index in the receiver 
+ * Sets the foreground color at the given column index in the receiver
  * to the color specified by the argument, or to the default system color for the item
  * if the argument is null.
  *
@@ -1847,13 +1847,13 @@
  * @param color the new color (or null)
  *
  * @exception IllegalArgumentException <ul>
- *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li> 
+ *    <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
  * </ul>
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @since 3.0
  */
 public void setForeground (int columnIndex, Color color) {
@@ -1883,10 +1883,10 @@
 	}
 }
 /**
- * Sets the grayed state of the checkbox for this item.  This state change 
+ * Sets the grayed state of the checkbox for this item.  This state change
  * only applies if the Table was created with the SWT.CHECK style.
  *
- * @param grayed the new grayed state of the checkbox; 
+ * @param grayed the new grayed state of the checkbox;
  *
  * @exception SWTException <ul>
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -1911,8 +1911,8 @@
 	setImage (0, value);
 }
 /**
- * Sets the image for multiple columns in the table. 
- * 
+ * Sets the image for multiple columns in the table.
+ *
  * @param images the array of new images
  *
  * @exception IllegalArgumentException <ul>
@@ -1927,7 +1927,7 @@
 public void setImage (Image[] value) {
 	checkWidget ();
 	if (value == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
-	
+
 	// TODO make a smarter implementation of this
 	for (int i = 0; i < value.length; i++) {
 		if (value [i] != null) setImage (i, value [i]);
@@ -1964,7 +1964,7 @@
 	}
 	if ((parent.getStyle () & SWT.VIRTUAL) != 0) cached = true;
 
-	/* 
+	/*
 	 * An image width change may affect the space available for the item text, so
 	 * recompute the displayText if there are columns.
 	 */
@@ -1974,7 +1974,7 @@
 		computeDisplayText (columnIndex, gc);
 		gc.dispose ();
 	}
-	
+
 	if (value == null) {
 		redrawItem ();	// TODO why the whole item?
 		return;
@@ -1991,7 +1991,7 @@
 			if (columnIndex == 0) {
 				parent.col0ImageWidth = value.getBounds ().width;
 				if (columns.length > 0) {
-					/* 
+					/*
 					 * All column 0 cells will now have less room available for their texts,
 					 * so all items must now recompute their column 0 displayTexts.
 					 */
@@ -2008,9 +2008,9 @@
 		}
 	}
 
-	/* 
+	/*
 	 * If this is the first image being put into column 0 then all cells
-	 * in the column should also indent accordingly. 
+	 * in the column should also indent accordingly.
 	 */
 	if (columnIndex == 0 && parent.col0ImageWidth == 0) {
 		parent.col0ImageWidth = value.getBounds ().width;
@@ -2018,7 +2018,7 @@
 		if (columns.length == 0) {
 			parent.redraw ();
 		} else {
-			/* 
+			/*
 			 * All column 0 cells will now have less room available for their texts,
 			 * so all items must now recompute their column 0 displayTexts.
 			 */
@@ -2048,7 +2048,7 @@
  *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
  *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
  * </ul>
- * 
+ *
  * @deprecated this functionality is not supported on most platforms
  */
 @Deprecated
@@ -2082,7 +2082,7 @@
 	if (columnIndex == 0) {
 		super.setText (value);
 	} else {
-		texts [columnIndex] = value;		
+		texts [columnIndex] = value;
 	}
 	if ((parent.getStyle () & SWT.VIRTUAL) != 0) cached = true;
 
@@ -2120,8 +2120,8 @@
 	}
 }
 /**
- * Sets the text for multiple columns in the table. 
- * 
+ * Sets the text for multiple columns in the table.
+ *
  * @param strings the array of new strings
  *
  * @exception IllegalArgumentException <ul>
@@ -2165,7 +2165,7 @@
 			parent.redraw (cellBounds.x, cellBounds.y, cellBounds.width, cellBounds.height, false);
 			return;
 		}
-		/* if the display text has changed then the cell text must be damaged in order to repaint */	
+		/* if the display text has changed then the cell text must be damaged in order to repaint */
 		if (oldDisplayText == null || !oldDisplayText.equals (displayTexts [columnIndex])) {
 			Rectangle cellBounds = getCellBounds (columnIndex);
 			int textX = getTextX (columnIndex);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
index 827825e..6bbf8a8 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/ClipboardExample.java
@@ -9,7 +9,7 @@
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.swt.examples.clipboard;
- 
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.ScrolledComposite;
 import org.eclipse.swt.custom.StyledText;
@@ -100,43 +100,43 @@
 	shell = new Shell (display);
 	shell.setText("SWT Clipboard");
 	shell.setLayout(new FillLayout());
-	
+
 	ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);
 	Composite parent = new Composite(sc, SWT.NONE);
 	sc.setContent(parent);
 	parent.setLayout(new GridLayout(2, true));
-	
+
 	Group copyGroup = new Group(parent, SWT.NONE);
 	copyGroup.setText("Copy From:");
 	GridData data = new GridData(GridData.FILL_BOTH);
 	copyGroup.setLayoutData(data);
 	copyGroup.setLayout(new GridLayout(3, false));
-	
+
 	Group pasteGroup = new Group(parent, SWT.NONE);
 	pasteGroup.setText("Paste To:");
 	data = new GridData(GridData.FILL_BOTH);
 	pasteGroup.setLayoutData(data);
 	pasteGroup.setLayout(new GridLayout(3, false));
-	
+
 	Group controlGroup = new Group(parent, SWT.NONE);
 	controlGroup.setText("Control API:");
 	data = new GridData(GridData.FILL_HORIZONTAL);
 	data.horizontalSpan = 2;
 	controlGroup.setLayoutData(data);
 	controlGroup.setLayout(new GridLayout(5, false));
-	
+
 	Group typesGroup = new Group(parent, SWT.NONE);
 	typesGroup.setText("Available Types");
 	data = new GridData(GridData.FILL_HORIZONTAL);
 	data.horizontalSpan = 2;
 	typesGroup.setLayoutData(data);
 	typesGroup.setLayout(new GridLayout(2, false));
-	
+
 	status = new Label(parent, SWT.NONE);
 	data = new GridData(GridData.FILL_HORIZONTAL);
 	data.horizontalSpan = 2;
 	status.setLayoutData(data);
-	
+
 	createTextTransfer(copyGroup, pasteGroup);
 	createRTFTransfer(copyGroup, pasteGroup);
 	createHTMLTransfer(copyGroup, pasteGroup);
@@ -145,11 +145,11 @@
 	createMyTransfer(copyGroup, pasteGroup);
 	createControlTransfer(controlGroup);
 	createAvailableTypes(typesGroup);
-	
+
 	sc.setMinSize(parent.computeSize(SWT.DEFAULT, SWT.DEFAULT));
 	sc.setExpandHorizontal(true);
 	sc.setExpandVertical(true);
-	
+
 	Point size = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
 	Rectangle monitorArea = shell.getMonitor().getClientArea();
 	shell.setSize(Math.min(size.x, monitorArea.width - 20), Math.min(size.y, monitorArea.height - 20));
@@ -160,7 +160,7 @@
 	clipboard.dispose();
 }
 void createTextTransfer(Composite copyParent, Composite pasteParent) {
-	
+
 	// TextTransfer
 	Label l = new Label(copyParent, SWT.NONE);
 	l.setText("TextTransfer:"); //$NON-NLS-1$
@@ -184,7 +184,7 @@
 			}
 		}
 	});
-	
+
 	l = new Label(pasteParent, SWT.NONE);
 	l.setText("TextTransfer:"); //$NON-NLS-1$
 	final Text pasteText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
@@ -251,7 +251,7 @@
 			}
 		}
 	});
-	  
+
 	l = new Label(pasteParent, SWT.NONE);
 	l.setText("RTFTransfer:"); //$NON-NLS-1$
 	final Text pasteRtfText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
@@ -298,7 +298,7 @@
 			}
 		}
 	});
-	  
+
 	l = new Label(pasteParent, SWT.NONE);
 	l.setText("HTMLTransfer:"); //$NON-NLS-1$
 	final Text pasteHtmlText = new Text(pasteParent, SWT.READ_ONLY | SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
@@ -328,14 +328,14 @@
 	GridData data = new GridData();
 	data.verticalSpan = 3;
 	l.setLayoutData(data);
-	
+
 	final Table copyFileTable = new Table(copyParent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
 	data = new GridData(GridData.FILL_BOTH);
 	data.widthHint = HSIZE;
 	data.heightHint = VSIZE;
 	data.verticalSpan = 3;
 	copyFileTable.setLayoutData(data);
-	
+
 	Button b = new Button(copyParent, SWT.PUSH);
 	b.setText("Select file(s)");
 	b.addSelectionListener(new SelectionAdapter() {
@@ -368,7 +368,7 @@
 			}
 		}
 	});
-	
+
 	b = new Button(copyParent, SWT.PUSH);
 	b.setText("Copy");
 	b.addSelectionListener(new SelectionAdapter() {
@@ -387,7 +387,7 @@
 			}
 		}
 	});
-	
+
 	l = new Label(pasteParent, SWT.NONE);
 	l.setText("FileTransfer:"); //$NON-NLS-1$
 	final Table pasteFileTable = new Table(pasteParent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
@@ -412,7 +412,7 @@
 				status.setText("No file to paste");
 			}
 		}
-	});	 
+	});
 }
 
 void createImageTransfer(Composite copyParent, Composite pasteParent){
@@ -422,17 +422,17 @@
 	GridData data = new GridData();
 	data.verticalSpan = 2;
 	l.setLayoutData(data);
-	
+
 	final Canvas copyImageCanvas = new Canvas(copyParent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
 	data = new GridData(GridData.FILL_BOTH);
 	data.verticalSpan = 2;
 	data.widthHint = HSIZE;
 	data.heightHint = VSIZE;
-	copyImageCanvas.setLayoutData(data);	
-	
+	copyImageCanvas.setLayoutData(data);
+
 	final Point copyOrigin = new Point(0, 0);
 	final ScrollBar copyHBar = copyImageCanvas.getHorizontalBar();
-	copyHBar.setEnabled(false);	
+	copyHBar.setEnabled(false);
 	copyHBar.addListener(SWT.Selection, e -> {
 		if (copyImage[0] != null) {
 			int hSelection = copyHBar.getSelection();
@@ -488,7 +488,7 @@
 				copyHBar.setEnabled(true);
 				copyOrigin.x = 0; copyOrigin.y = 0;
 				Rectangle rect = copyImage[0].getBounds();
-				Rectangle client = copyImageCanvas.getClientArea();		
+				Rectangle client = copyImageCanvas.getClientArea();
 				copyHBar.setMaximum(rect.width);
 				copyVBar.setMaximum(rect.height);
 				copyHBar.setThumb(Math.min(rect.width, client.width));
@@ -514,8 +514,8 @@
 			}
 		}
 	});
-	
-	final Image[] pasteImage = new Image[] {null};	  
+
+	final Image[] pasteImage = new Image[] {null};
 	l = new Label(pasteParent, SWT.NONE);
 	l.setText("ImageTransfer:");
 	final Canvas pasteImageCanvas = new Canvas(pasteParent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
@@ -525,7 +525,7 @@
 	pasteImageCanvas.setLayoutData(data);
 	final Point pasteOrigin = new Point(0, 0);
 	final ScrollBar pasteHBar = pasteImageCanvas.getHorizontalBar();
-	pasteHBar.setEnabled(false);	
+	pasteHBar.setEnabled(false);
 	pasteHBar.addListener(SWT.Selection, e -> {
 		if (pasteImage[0] != null) {
 			int hSelection = pasteHBar.getSelection();
@@ -566,7 +566,7 @@
 	b.setText("Paste");
 	b.addSelectionListener(new SelectionAdapter() {
 		@Override
-		public void widgetSelected(SelectionEvent e) {		
+		public void widgetSelected(SelectionEvent e) {
 			ImageData data =(ImageData)clipboard.getContents(ImageTransfer.getInstance());
 			if (data != null) {
 				if (pasteImage[0] != null) {
@@ -580,7 +580,7 @@
 				pasteHBar.setEnabled(true);
 				pasteOrigin.x = 0; pasteOrigin.y = 0;
 				Rectangle rect = pasteImage[0].getBounds();
-				Rectangle client = pasteImageCanvas.getClientArea();		
+				Rectangle client = pasteImageCanvas.getClientArea();
 				pasteHBar.setMaximum(rect.width);
 				pasteVBar.setMaximum(rect.height);
 				pasteHBar.setThumb(Math.min(rect.width, client.width));
@@ -591,9 +591,9 @@
 				pasteImageCanvas.redraw();
 			} else {
 				status.setText("No image to paste");
-			}			
+			}
 		}
-	});	
+	});
 }
 void createMyTransfer(Composite copyParent, Composite pasteParent){
 	//	MyType Transfer
@@ -632,7 +632,7 @@
 	data.widthHint = HSIZE;
 	data.heightHint = VSIZE;
 	text.setLayoutData(data);
-	
+
 	l = new Label(parent, SWT.NONE);
 	l.setText("Combo:");
 	b = new Button(parent, SWT.PUSH);
@@ -662,7 +662,7 @@
 	combo = new Combo(parent, SWT.NONE);
 	combo.setItems("Item 1", "Item 2", "Item 3", "A longer Item");
 	combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
+
 	l = new Label(parent, SWT.NONE);
 	l.setText("StyledText:");
 	b = new Button(parent, SWT.PUSH);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
index c6eb7aa..60129ea 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/clipboard/MyTypeTransfer.java
@@ -14,11 +14,11 @@
 import org.eclipse.swt.dnd.*;
 
 public class MyTypeTransfer extends ByteArrayTransfer {
-	
+
 	private static final String MYTYPENAME = "name_list"; //$NON-NLS-1$
 	private static final int MYTYPEID = registerType(MYTYPENAME);
 	private static MyTypeTransfer _instance = new MyTypeTransfer();
-	
+
 public static MyTypeTransfer getInstance () {
 	return _instance;
 }
@@ -27,7 +27,7 @@
 	if (!checkMyType(object) || !isSupportedType(transferData)) {
 		DND.error(DND.ERROR_INVALID_DATA);
 	}
-	MyType[] myTypes = (MyType[]) object;	
+	MyType[] myTypes = (MyType[]) object;
 	try {
 		// write data to a byte array and then ask super to convert to pMedium
 		ByteArrayOutputStream out = new ByteArrayOutputStream();
@@ -42,17 +42,17 @@
 		}
 		byte[] buffer = out.toByteArray();
 		writeOut.close();
-		super.javaToNative(buffer, transferData);	
+		super.javaToNative(buffer, transferData);
 	} catch (IOException e) {
 	}
 }
 @Override
-public Object nativeToJava(TransferData transferData){	
+public Object nativeToJava(TransferData transferData){
 	if (isSupportedType(transferData)) {
-		
+
 		byte[] buffer = (byte[])super.nativeToJava(transferData);
 		if (buffer == null) return null;
-		
+
 		MyType[] myData = new MyType[0];
 		try {
 			ByteArrayInputStream in = new ByteArrayInputStream(buffer);
@@ -93,8 +93,8 @@
 	if (object == null || !(object instanceof MyType[]) || ((MyType[])object).length == 0) return false;
 	MyType[] myTypes = (MyType[])object;
 	for (int i = 0; i < myTypes.length; i++) {
-		if (myTypes[i] == null || 
-			myTypes[i].firstName == null || 
+		if (myTypes[i] == null ||
+			myTypes[i].firstName == null ||
 			myTypes[i].firstName.length() == 0 ||
 			myTypes[i].lastName == null ||
 			myTypes[i].lastName.length() == 0) return false;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
index 2d101c2..6a71305 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/AlignableTab.java
@@ -37,19 +37,19 @@
 	}
 
 	/**
-	 * Creates the "Other" group. 
+	 * Creates the "Other" group.
 	 */
 	@Override
 	void createOtherGroup () {
 		super.createOtherGroup ();
-		
+
 		/* Create the group */
 		alignmentGroup = new Group (otherGroup, SWT.NONE);
 		alignmentGroup.setLayout (new GridLayout ());
 		alignmentGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL |
 			GridData.VERTICAL_ALIGN_FILL));
 		alignmentGroup.setText (ControlExample.getResourceString("Alignment"));
-	
+
 		/* Create the controls */
 		leftButton = new Button (alignmentGroup, SWT.RADIO);
 		leftButton.setText (ControlExample.getResourceString("Left"));
@@ -57,7 +57,7 @@
 		centerButton.setText(ControlExample.getResourceString("Center"));
 		rightButton = new Button (alignmentGroup, SWT.RADIO);
 		rightButton.setText (ControlExample.getResourceString("Right"));
-	
+
 		/* Add the listeners */
 		SelectionListener selectionListener = new SelectionAdapter () {
 			@Override
@@ -70,12 +70,12 @@
 		centerButton.addSelectionListener (selectionListener);
 		rightButton.addSelectionListener (selectionListener);
 	}
-	
+
 	/**
 	 * Sets the alignment of the "Example" widgets.
 	 */
 	abstract void setExampleWidgetAlignment ();
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
index a6d9634..38821cc 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ButtonTab.java
@@ -31,27 +31,27 @@
 
 	/* Style widgets added to the "Style" group */
 	Button pushButton, checkButton, radioButton, toggleButton, arrowButton, flatButton, wrapButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	ButtonTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
-	 * Creates the "Control" group. 
+	 * Creates the "Control" group.
 	 */
 	@Override
 	void createControlGroup () {
 		super.createControlGroup ();
-	
+
 		/* Create the controls */
 		upButton = new Button (alignmentGroup, SWT.RADIO);
 		upButton.setText (ControlExample.getResourceString("Up"));
 		downButton = new Button (alignmentGroup, SWT.RADIO);
 		downButton.setText (ControlExample.getResourceString("Down"));
-	
+
 		/* Add the listeners */
 		SelectionListener selectionListener = new SelectionAdapter() {
 			@Override
@@ -63,14 +63,14 @@
 		upButton.addSelectionListener(selectionListener);
 		downButton.addSelectionListener(selectionListener);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for text buttons */
 		textButtonGroup = new Group(exampleGroup, SWT.NONE);
 		GridLayout gridLayout = new GridLayout ();
@@ -78,7 +78,7 @@
 		gridLayout.numColumns = 3;
 		textButtonGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		textButtonGroup.setText (ControlExample.getResourceString("Text_Buttons"));
-	
+
 		/* Create a group for the image buttons */
 		imageButtonGroup = new Group(exampleGroup, SWT.NONE);
 		gridLayout = new GridLayout();
@@ -95,13 +95,13 @@
 		imagetextButtonGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		imagetextButtonGroup.setText (ControlExample.getResourceString("Image_Text_Buttons"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-	
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (pushButton.getSelection()) style |= SWT.PUSH;
@@ -114,13 +114,13 @@
 		if (leftButton.getSelection()) style |= SWT.LEFT;
 		if (rightButton.getSelection()) style |= SWT.RIGHT;
 		if (arrowButton.getSelection()) {
-			style |= SWT.ARROW; 
+			style |= SWT.ARROW;
 			if (upButton.getSelection()) style |= SWT.UP;
 			if (downButton.getSelection()) style |= SWT.DOWN;
 		} else {
-			if (centerButton.getSelection()) style |= SWT.CENTER;			
+			if (centerButton.getSelection()) style |= SWT.CENTER;
 		}
-	
+
 		/* Create the example widgets */
 		button1 = new Button(textButtonGroup, style);
 		button1.setText(ControlExample.getResourceString("One"));
@@ -152,14 +152,14 @@
 		}
 		button9.setImage(instance.images[ControlExample.ciTarget]);
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		pushButton = new Button (styleGroup, SWT.RADIO);
 		pushButton.setText("SWT.PUSH");
@@ -178,7 +178,7 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -186,7 +186,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {button1, button2, button3, button4, button5, button6, button7, button8, button9};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -203,7 +203,7 @@
 	String getTabText () {
 		return "Button";
 	}
-	
+
 	/**
 	 * Sets the alignment of the "Example" widgets.
 	 */
@@ -225,7 +225,7 @@
 		button8.setAlignment (alignment);
 		button9.setAlignment (alignment);
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
index f1fd62a..348e6a5 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CComboTab.java
@@ -21,10 +21,10 @@
 	/* Example widgets and groups that contain them */
 	CCombo combo1;
 	Group comboGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button flatButton, readOnlyButton;
-	
+
 	static String [] ListData = {ControlExample.getResourceString("ListData1_0"),
 								 ControlExample.getResourceString("ListData1_1"),
 								 ControlExample.getResourceString("ListData1_2"),
@@ -41,33 +41,33 @@
 	CComboTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the combo box */
 		comboGroup = new Group (exampleGroup, SWT.NONE);
 		comboGroup.setLayout (new GridLayout ());
 		comboGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		comboGroup.setText (ControlExample.getResourceString("Custom_Combo"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (flatButton.getSelection ()) style |= SWT.FLAT;
 		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-		
+
 		/* Create the example widgets */
 		combo1 = new CCombo (comboGroup, style);
 		combo1.setItems (ListData);
@@ -75,14 +75,14 @@
 			combo1.setText(ListData [2]);
 		}
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup () {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		readOnlyButton = new Button (styleGroup, SWT.CHECK);
 		readOnlyButton.setText ("SWT.READ_ONLY");
@@ -91,7 +91,7 @@
 		flatButton = new Button (styleGroup, SWT.CHECK);
 		flatButton.setText ("SWT.FLAT");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -99,7 +99,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {combo1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -116,7 +116,7 @@
 	String getTabText () {
 		return "CCombo";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
index 50ab050..9249f40 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CLabelTab.java
@@ -23,21 +23,21 @@
 
 	/* Style widgets added to the "Style" group */
 	Button shadowInButton, shadowOutButton, shadowNoneButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	CLabelTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the text labels */
 		textLabelGroup = new Group(exampleGroup, SWT.NONE);
 		GridLayout gridLayout = new GridLayout ();
@@ -46,13 +46,13 @@
 		textLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		textLabelGroup.setText (ControlExample.getResourceString("Custom_Labels"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (shadowInButton.getSelection ()) style |= SWT.SHADOW_IN;
@@ -61,7 +61,7 @@
 		if (leftButton.getSelection ()) style |= SWT.LEFT;
 		if (centerButton.getSelection ()) style |= SWT.CENTER;
 		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
+
 		/* Create the example widgets */
 		label1 = new CLabel (textLabelGroup, style);
 		label1.setText(ControlExample.getResourceString("One"));
@@ -71,14 +71,14 @@
 		label3 = new CLabel (textLabelGroup, style);
 		label3.setText(ControlExample.getResourceString("Example_string") + "\n" + ControlExample.getResourceString("One_Two_Three"));
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		shadowNoneButton = new Button (styleGroup, SWT.RADIO);
 		shadowNoneButton.setText ("SWT.SHADOW_NONE");
@@ -87,7 +87,7 @@
 		shadowOutButton = new Button (styleGroup, SWT.RADIO);
 		shadowOutButton.setText ("SWT.SHADOW_OUT");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -95,7 +95,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {label1, label2, label3};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -112,7 +112,7 @@
 	String getTabText () {
 		return "CLabel";
 	}
-	
+
 	/**
 	 * Sets the alignment of the "Example" widgets.
 	 */
@@ -126,7 +126,7 @@
 		label2.setAlignment (alignment);
 		label3.setAlignment (alignment);
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
index 04d3c1a..9b71ffb 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ComboTab.java
@@ -21,10 +21,10 @@
 	/* Example widgets and groups that contain them */
 	Combo combo1;
 	Group comboGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button dropDownButton, readOnlyButton, simpleButton;
-	
+
 	static String [] ListData = {ControlExample.getResourceString("ListData0_0"),
 								 ControlExample.getResourceString("ListData0_1"),
 								 ControlExample.getResourceString("ListData0_2"),
@@ -41,33 +41,33 @@
 	ComboTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the combo box */
 		comboGroup = new Group (exampleGroup, SWT.NONE);
 		comboGroup.setLayout (new GridLayout ());
 		comboGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		comboGroup.setText ("Combo");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (dropDownButton.getSelection ()) style |= SWT.DROP_DOWN;
 		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
 		if (simpleButton.getSelection ()) style |= SWT.SIMPLE;
-		
+
 		/* Create the example widgets */
 		combo1 = new Combo (comboGroup, style);
 		combo1.setItems (ListData);
@@ -75,7 +75,7 @@
 			combo1.setText(ListData [2]);
 		}
 	}
-	
+
 	/**
 	 * Creates the tab folder page.
 	 *
@@ -98,7 +98,7 @@
 				setExampleWidgetSize ();
 			}
 		});
-		
+
 		return tabFolderPage;
 	}
 
@@ -108,7 +108,7 @@
 	@Override
 	void createStyleGroup () {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		dropDownButton = new Button (styleGroup, SWT.RADIO);
 		dropDownButton.setText ("SWT.DROP_DOWN");
@@ -117,7 +117,7 @@
 		readOnlyButton = new Button (styleGroup, SWT.CHECK);
 		readOnlyButton.setText ("SWT.READ_ONLY");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -125,7 +125,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {combo1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -142,7 +142,7 @@
 	String getTabText () {
 		return "Combo";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
index 6da9e63..86b2c39 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
@@ -56,7 +56,7 @@
 	/**
 	 * Creates an instance of a ControlExample embedded inside
 	 * the supplied parent Composite.
-	 * 
+	 *
 	 * @param parent the container of the example
 	 */
 	public ControlExample(Composite parent) {
@@ -69,7 +69,7 @@
 		    item.setControl (tab.createTabFolderPage (tabFolder));
 		    item.setData (tab);
 		}
-		
+
 		/* Workaround: if the tab folder is wider than the screen,
 		 * Mac platforms clip instead of somehow scrolling the tab items.
 		 * We try to recover some width by using shorter tab names. */
@@ -122,7 +122,7 @@
 	/**
 	 * Disposes of all resources associated with a particular
 	 * instance of the ControlExample.
-	 */	
+	 */
 	public void dispose() {
 		/*
 		 * Destroy any shells that may have been created
@@ -149,7 +149,7 @@
 			images = null;
 		}
 	}
-	
+
 	/**
 	 * Gets a string from the resource bundle.
 	 * We don't want to crash because of a missing String.
@@ -162,7 +162,7 @@
 			return key;
 		} catch (NullPointerException e) {
 			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}			
+		}
 	}
 
 	/**
@@ -189,7 +189,7 @@
 			try {
 				if (images == null) {
 					images = new Image[imageLocations.length];
-					
+
 					for (int i = 0; i < imageLocations.length; ++i) {
 						InputStream sourceStream = clazz.getResourceAsStream(imageLocations[i]);
 						ImageData source = new ImageData(sourceStream);
@@ -234,14 +234,14 @@
 		instance.dispose();
 		display.dispose();
 	}
-	
+
 	/**
 	 * Grabs input focus.
 	 */
 	public void setFocus() {
 		tabFolder.setFocus();
 	}
-	
+
 	/**
 	 * Sets the size of the shell to it's "packed" size,
 	 * unless that makes it larger than the monitor it is being displayed on,
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
index bde6ee7..3a15a2e 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CoolBarTab.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.swt.examples.controlexample;
 
- 
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.MenuAdapter;
 import org.eclipse.swt.events.MenuEvent;
@@ -39,36 +39,36 @@
 	CoolBar coolBar;
 	CoolItem pushItem, dropDownItem, radioItem, checkItem, textItem;
 	Group coolBarGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button horizontalButton, verticalButton;
 	Button dropDownButton, flatButton;
 
 	/* Other widgets added to the "Other" group */
 	Button lockedButton;
-	
+
 	Point[] sizes;
 	int[] wrapIndices;
 	int[] order;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	CoolBarTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Other" group.
 	 */
 	@Override
 	void createOtherGroup () {
 		super.createOtherGroup ();
-	
+
 		/* Create display controls specific to this example */
 		lockedButton = new Button (otherGroup, SWT.CHECK);
 		lockedButton.setText (ControlExample.getResourceString("Locked"));
-	
+
 		/* Add the listeners */
 		lockedButton.addSelectionListener (new SelectionAdapter () {
 			@Override
@@ -77,7 +77,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
@@ -89,7 +89,7 @@
 		coolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		coolBarGroup.setText ("CoolBar");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
@@ -112,12 +112,12 @@
 		if (borderButton.getSelection()) style |= SWT.BORDER;
 		if (flatButton.getSelection()) style |= SWT.FLAT;
 		if (dropDownButton.getSelection()) itemStyle |= SWT.DROP_DOWN;
-	
+
 		/*
 		* Create the example widgets.
 		*/
 		coolBar = new CoolBar (coolBarGroup, style);
-		
+
 		/* Create the push button toolbar cool item */
 		ToolBar toolBar = new ToolBar (coolBar, toolBarStyle);
 		ToolItem item = new ToolItem (toolBar, SWT.PUSH);
@@ -135,11 +135,11 @@
 		item.setToolTipText ("SWT.PUSH");
 		item = new ToolItem (toolBar, SWT.PUSH);
 		item.setImage (instance.images[ControlExample.ciOpenFolder]);
-		item.setToolTipText ("SWT.PUSH");		
+		item.setToolTipText ("SWT.PUSH");
 		pushItem = new CoolItem (coolBar, itemStyle);
 		pushItem.setControl (toolBar);
 		pushItem.addSelectionListener (new CoolItemSelectionListener());
-				
+
 		/* Create the dropdown toolbar cool item */
 		toolBar = new ToolBar (coolBar, toolBarStyle);
 		item = new ToolItem (toolBar, SWT.DROP_DOWN);
@@ -168,7 +168,7 @@
 		radioItem = new CoolItem (coolBar, itemStyle);
 		radioItem.setControl (toolBar);
 		radioItem.addSelectionListener (new CoolItemSelectionListener());
-		
+
 		/* Create the check button toolbar cool item */
 		toolBar = new ToolBar (coolBar, toolBarStyle);
 		item = new ToolItem (toolBar, SWT.CHECK);
@@ -186,7 +186,7 @@
 		checkItem = new CoolItem (coolBar, itemStyle);
 		checkItem.setControl (toolBar);
 		checkItem.addSelectionListener (new CoolItemSelectionListener());
-		
+
 		/* Create the text cool item */
 		if (!vertical) {
 			Text text = new Text (coolBar, SWT.BORDER | SWT.SINGLE);
@@ -220,25 +220,25 @@
 			coolItem.setPreferredSize(coolSize);
 			coolItem.setSize(coolSize);
 		}
-		
+
 		/* If we have saved state, restore it */
 		if (order != null && order.length == coolBar.getItemCount()) {
 			coolBar.setItemLayout(order, wrapIndices, sizes);
 		} else {
 			coolBar.setWrapIndices(new int[] {1, 3});
 		}
-		
+
 		/* Add a listener to resize the group box to match the coolbar */
 		coolBar.addListener(SWT.Resize, event -> exampleGroup.layout());
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup();
-	
+
 		/* Create the extra widgets */
 		horizontalButton = new Button (styleGroup, SWT.RADIO);
 		horizontalButton.setText ("SWT.HORIZONTAL");
@@ -255,7 +255,7 @@
 		dropDownButton = new Button (itemGroup, SWT.CHECK);
 		dropDownButton.setText ("SWT.DROP_DOWN");
 	}
-	
+
 	/**
 	 * Disposes the "Example" widgets.
 	 */
@@ -267,7 +267,7 @@
 			wrapIndices = coolBar.getWrapIndices();
 			order = coolBar.getItemOrder();
 		}
-		super.disposeExampleWidgets();	
+		super.disposeExampleWidgets();
 	}
 
 	/**
@@ -279,7 +279,7 @@
 	Item [] getExampleWidgetItems () {
 		return coolBar.getItems();
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -287,7 +287,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {coolBar};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -312,7 +312,7 @@
 	String getTabText () {
 		return "CoolBar";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -327,14 +327,14 @@
 		lockedButton.setSelection(coolBar.getLocked());
 		if (!instance.startup) setWidgetLocked ();
 	}
-	
+
 	/**
 	 * Sets the header visible state of the "Example" widgets.
 	 */
 	void setWidgetLocked () {
 		coolBar.setLocked (lockedButton.getSelection ());
 	}
-	
+
 	/**
 	 * Listens to widgetSelected() events on SWT.DROP_DOWN type ToolItems
 	 * and opens/closes a menu when appropriate.
@@ -342,7 +342,7 @@
 	class DropDownSelectionListener extends SelectionAdapter {
 		private Menu menu = null;
 		private boolean visible = false;
-		
+
 		@Override
 		public void widgetSelected(SelectionEvent event) {
 			// Create the menu if it has not already been created
@@ -375,13 +375,13 @@
 					}
 				}
 			}
-			
+
 			/**
 			 * A selection event will be fired when a drop down tool
 			 * item is selected in the main area and in the drop
 			 * down arrow.  Examine the event detail to determine
 			 * where the widget was selected.
-			 */		
+			 */
 			if (event.detail == SWT.ARROW) {
 				/*
 				 * The drop down arrow was selected.
@@ -389,11 +389,11 @@
 				if (visible) {
 					// Hide the menu to give the Arrow the appearance of being a toggle button.
 					setMenuVisible(false);
-				} else {	
+				} else {
 					// Position the menu below and vertically aligned with the the drop down tool button.
 					final ToolItem toolItem = (ToolItem) event.widget;
 					final ToolBar  toolBar = toolItem.getParent();
-					
+
 					Rectangle toolItemBounds = toolItem.getBounds();
 					Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y));
 					menu.setLocation(point.x, point.y + toolItemBounds.height);
@@ -418,7 +418,7 @@
 	 */
 	class CoolItemSelectionListener extends SelectionAdapter {
 		private Menu menu = null;
-		
+
 		@Override
 		public void widgetSelected(SelectionEvent event) {
 			/**
@@ -436,7 +436,7 @@
 					menu = null;
 					return;
 				}
-				
+
 				/* Get the cool item and convert its bounds to display coordinates. */
 				CoolItem coolItem = (CoolItem) event.widget;
 				Rectangle itemBounds = coolItem.getBounds ();
@@ -444,12 +444,12 @@
 				Point pt = coolBar.toDisplay(new Point (itemBounds.x, itemBounds.y));
 				itemBounds.x = pt.x;
 				itemBounds.y = pt.y;
-				
+
 				/* Get the toolbar from the cool item. */
 				ToolBar toolBar = (ToolBar) coolItem.getControl ();
 				ToolItem[] tools = toolBar.getItems ();
 				int toolCount = tools.length;
-								
+
 				/* Convert the bounds of each tool item to display coordinates,
 				 * and determine which ones are past the bounds of the cool item.
 				 */
@@ -463,7 +463,7 @@
 			  		if (!intersection.equals (toolBounds)) break;
 			  		i++;
 				}
-				
+
 				/* Create a pop-up menu with items for each of the hidden buttons. */
 				menu = new Menu (shell, SWT.POP_UP | (coolBar.getStyle() & (SWT.RIGHT_TO_LEFT | SWT.LEFT_TO_RIGHT)));
 				for (int j = i; j < toolCount; j++) {
@@ -498,7 +498,7 @@
 						/* Application code to perform the action for the menu item would go here. */
 					}
 				}
-				
+
 				/* Display the pop-up menu at the lower left corner of the arrow button.
 				 * Dispose the menu when the user is done with it.
 				 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java
index cde0c0b..7f0cecf 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/CustomControlExample.java
@@ -19,13 +19,13 @@
 	/**
 	 * Creates an instance of a CustomControlExample embedded
 	 * inside the supplied parent Composite.
-	 * 
+	 *
 	 * @param parent the container of the example
 	 */
 	public CustomControlExample(Composite parent) {
 		super (parent);
 	}
-	
+
 	/**
 	 * Answers the set of example Tabs
 	 */
@@ -39,7 +39,7 @@
 			new StyledTextTab (this),
 		};
 	}
-	
+
 	/**
 	 * Invokes as a standalone program.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
index ff69574..4d98af7 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DateTimeTab.java
@@ -19,37 +19,37 @@
 	/* Example widgets and groups that contain them */
 	DateTime dateTime1;
 	Group dateTimeGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button dateButton, timeButton, calendarButton, shortButton, mediumButton, longButton, dropDownButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	DateTimeTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the list */
 		dateTimeGroup = new Group (exampleGroup, SWT.NONE);
 		dateTimeGroup.setLayout (new GridLayout ());
 		dateTimeGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		dateTimeGroup.setText ("DateTime");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (dateButton.getSelection ()) style |= SWT.DATE;
@@ -60,18 +60,18 @@
 		if (longButton.getSelection ()) style |= SWT.LONG;
 		if (dropDownButton.getSelection ()) style |= SWT.DROP_DOWN;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */		
+
+		/* Create the example widgets */
 		dateTime1 = new DateTime (dateTimeGroup, style);
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		dateButton = new Button(styleGroup, SWT.RADIO);
 		dateButton.setText("SWT.DATE");
@@ -92,7 +92,7 @@
 		borderButton = new Button(styleGroup, SWT.CHECK);
 		borderButton.setText("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -100,7 +100,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {dateTime1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -109,7 +109,7 @@
 	String[] getMethodNames() {
 		return new String[] {"Day", "Hours", "Minutes", "Month", "Seconds", "Year"};
 	}
-	
+
 	/**
 	 * Gets the short text for the tab folder item.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
index c868b45..9136f61 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/DialogTab.java
@@ -22,7 +22,7 @@
 	/* Example widgets and groups that contain them */
 	Group dialogStyleGroup, resultGroup;
 	Text textWidget;
-	
+
 	/* Style widgets added to the "Style" group */
 	Combo dialogCombo;
 	Button createButton;
@@ -75,7 +75,7 @@
 		boolean abort = abortButton.getSelection ();
 		boolean retry = retryButton.getSelection ();
 		boolean ignore = ignoreButton.getSelection ();
-		
+
 		okButton.setEnabled (!(yes || no || retry || abort || ignore));
 		cancelButton.setEnabled (!(abort || ignore || (yes != no)));
 		yesButton.setEnabled (!(ok || retry || abort || ignore || (cancel && !yes && !no)));
@@ -83,7 +83,7 @@
 		retryButton.setEnabled (!(ok || yes || no));
 		abortButton.setEnabled (!(ok || cancel || yes || no));
 		ignoreButton.setEnabled (!(ok || cancel || yes || no));
-		
+
 		createButton.setEnabled (
 				!(ok || cancel || yes || no || retry || abort || ignore) ||
 				ok ||
@@ -92,17 +92,17 @@
 				(yes && no && cancel) ||
 				(retry && cancel) ||
 				(abort && retry && ignore));
-		
+
 
 	}
-	
+
 	/**
 	 * Handle the create button selection event.
 	 *
 	 * @param event org.eclipse.swt.events.SelectionEvent
 	 */
 	void createButtonSelected(SelectionEvent event) {
-	
+
 		/* Compute the appropriate dialog style */
 		int style = getDefaultStyle();
 		if (okButton.getEnabled () && okButton.getSelection ()) style |= SWT.OK;
@@ -124,10 +124,10 @@
 		if (saveButton.getEnabled () && saveButton.getSelection ()) style |= SWT.SAVE;
 		if (openButton.getEnabled () && openButton.getSelection ()) style |= SWT.OPEN;
 		if (multiButton.getEnabled () && multiButton.getSelection ()) style |= SWT.MULTI;
-	
+
 		/* Open the appropriate dialog type */
 		String name = dialogCombo.getText ();
-		
+
 		if (name.equals (ControlExample.getResourceString("ColorDialog"))) {
 			ColorDialog dialog = new ColorDialog (shell ,style);
 			if (usePreviousResultButton.getSelection()) {
@@ -151,7 +151,7 @@
 			colorDialogCustomColors = rgbs;
 			return;
 		}
-		
+
 		if (name.equals (ControlExample.getResourceString("DirectoryDialog"))) {
 			DirectoryDialog dialog = new DirectoryDialog (shell, style);
 			if (usePreviousResultButton.getSelection()) {
@@ -165,7 +165,7 @@
 			directoryDialogResult = result;
 			return;
 		}
-		
+
 		if (name.equals (ControlExample.getResourceString("FileDialog"))) {
 			FileDialog dialog = new FileDialog (shell, style);
 			if (usePreviousResultButton.getSelection()) {
@@ -191,7 +191,7 @@
 			fileDialogIndexResult = dialog.getFilterIndex();
 			return;
 		}
-		
+
 		if (name.equals (ControlExample.getResourceString("FontDialog"))) {
 			FontDialog dialog = new FontDialog (shell, style);
 			if (usePreviousResultButton.getSelection()) {
@@ -216,7 +216,7 @@
 			fontDialogColorResult = dialog.getRGB();
 			return;
 		}
-		
+
 		if (name.equals (ControlExample.getResourceString("PrintDialog"))) {
 			PrintDialog dialog = new PrintDialog (shell, style);
 			if (usePreviousResultButton.getSelection()) {
@@ -241,7 +241,7 @@
 			printDialogResult = result;
 			return;
 		}
-	
+
 		if (name.equals(ControlExample.getResourceString("MessageBox"))) {
 			MessageBox dialog = new MessageBox (shell, style);
 			dialog.setMessage (ControlExample.getResourceString("Example_string"));
@@ -265,7 +265,7 @@
 				case SWT.CANCEL:
 					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.CANCEL"}));
 					break;
-				case SWT.ABORT: 
+				case SWT.ABORT:
 					textWidget.append (ControlExample.getResourceString("Result", new String [] {"SWT.ABORT"}));
 					break;
 				case SWT.RETRY:
@@ -281,9 +281,9 @@
 			textWidget.append (Text.DELIMITER + Text.DELIMITER);
 		}
 	}
-	
+
 	/**
-	 * Creates the "Control" group. 
+	 * Creates the "Control" group.
 	 */
 	@Override
 	void createControlGroup () {
@@ -291,7 +291,7 @@
 		 * Create the "Control" group.  This is the group on the
 		 * right half of each example tab.  It consists of the
 		 * style group, the display group and the size group.
-		 */			
+		 */
 		controlGroup = new Group (tabFolderPage, SWT.NONE);
 		GridLayout gridLayout= new GridLayout ();
 		controlGroup.setLayout(gridLayout);
@@ -299,7 +299,7 @@
 		gridLayout.makeColumnsEqualWidth = true;
 		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-		
+
 		/*
 		 * Create a group to hold the dialog style combo box and
 		 * create dialog button.
@@ -311,16 +311,16 @@
 		dialogStyleGroup.setLayoutData (gridData);
 		dialogStyleGroup.setText (ControlExample.getResourceString("Dialog_Type"));
 	}
-	
+
 	/**
 	 * Creates the "Control" widget children.
 	 */
 	@Override
 	void createControlWidgets () {
-	
+
 		/* Create the combo */
 		String [] strings = {
-			ControlExample.getResourceString("ColorDialog"), 
+			ControlExample.getResourceString("ColorDialog"),
 			ControlExample.getResourceString("DirectoryDialog"),
 			ControlExample.getResourceString("FileDialog"),
 			ControlExample.getResourceString("FontDialog"),
@@ -331,18 +331,18 @@
 		dialogCombo.setItems (strings);
 		dialogCombo.setText (strings [0]);
 		dialogCombo.setVisibleItemCount(strings.length);
-	
+
 		/* Create the create dialog button */
 		createButton = new Button(dialogStyleGroup, SWT.NONE);
 		createButton.setText (ControlExample.getResourceString("Create_Dialog"));
 		createButton.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
-	
+
 		/* Create a group for the various dialog button style controls */
 		Group buttonStyleGroup = new Group (controlGroup, SWT.NONE);
 		buttonStyleGroup.setLayout (new GridLayout ());
 		buttonStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		buttonStyleGroup.setText (ControlExample.getResourceString("Button_Styles"));
-	
+
 		/* Create the button style buttons */
 		okButton = new Button (buttonStyleGroup, SWT.CHECK);
 		okButton.setText ("SWT.OK");
@@ -358,13 +358,13 @@
 		abortButton.setText ("SWT.ABORT");
 		ignoreButton = new Button (buttonStyleGroup, SWT.CHECK);
 		ignoreButton.setText ("SWT.IGNORE");
-	
+
 		/* Create a group for the icon style controls */
 		Group iconStyleGroup = new Group (controlGroup, SWT.NONE);
 		iconStyleGroup.setLayout (new GridLayout ());
 		iconStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		iconStyleGroup.setText (ControlExample.getResourceString("Icon_Styles"));
-	
+
 		/* Create the icon style buttons */
 		iconErrorButton = new Button (iconStyleGroup, SWT.RADIO);
 		iconErrorButton.setText ("SWT.ICON_ERROR");
@@ -378,13 +378,13 @@
 		iconWorkingButton.setText ("SWT.ICON_WORKING");
 		noIconButton = new Button (iconStyleGroup, SWT.RADIO);
 		noIconButton.setText (ControlExample.getResourceString("No_Icon"));
-		
+
 		/* Create a group for the modal style controls */
 		Group modalStyleGroup = new Group (controlGroup, SWT.NONE);
 		modalStyleGroup.setLayout (new GridLayout ());
 		modalStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));
-	
+
 		/* Create the modal style buttons */
 		primaryModalButton = new Button (modalStyleGroup, SWT.RADIO);
 		primaryModalButton.setText ("SWT.PRIMARY_MODAL");
@@ -392,13 +392,13 @@
 		applicationModalButton.setText ("SWT.APPLICATION_MODAL");
 		systemModalButton = new Button (modalStyleGroup, SWT.RADIO);
 		systemModalButton.setText ("SWT.SYSTEM_MODAL");
-	
+
 		/* Create a group for the file dialog style controls */
 		Group fileDialogStyleGroup = new Group (controlGroup, SWT.NONE);
 		fileDialogStyleGroup.setLayout (new GridLayout ());
 		fileDialogStyleGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		fileDialogStyleGroup.setText (ControlExample.getResourceString("File_Dialog_Styles"));
-	
+
 		/* Create the file dialog style buttons */
 		openButton = new Button(fileDialogStyleGroup, SWT.RADIO);
 		openButton.setText("SWT.OPEN");
@@ -406,18 +406,18 @@
 		saveButton.setText ("SWT.SAVE");
 		multiButton = new Button(fileDialogStyleGroup, SWT.CHECK);
 		multiButton.setText("SWT.MULTI");
-	
+
 		/* Create the orientation group */
 		if (RTL_SUPPORT_ENABLE) {
 			createOrientationGroup();
 		}
-		
+
 		/* Create a group for other style and setting controls */
 		Group otherGroup = new Group (controlGroup, SWT.NONE);
 		otherGroup.setLayout (new GridLayout ());
 		otherGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		otherGroup.setText (ControlExample.getResourceString("Other"));
-	
+
 		/* Create the other style and setting controls */
 		sheetButton = new Button(otherGroup, SWT.CHECK);
 		sheetButton.setText("SWT.SHEET");
@@ -452,7 +452,7 @@
 		retryButton.addSelectionListener (buttonStyleListener);
 		abortButton.addSelectionListener (buttonStyleListener);
 		ignoreButton.addSelectionListener (buttonStyleListener);
-	
+
 		/* Set default values for style buttons */
 		okButton.setEnabled (false);
 		cancelButton.setEnabled (false);
@@ -475,7 +475,7 @@
 		effectsVisibleButton.setEnabled(false);
 		effectsVisibleButton.setSelection(true);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
@@ -483,7 +483,7 @@
 	void createExampleGroup () {
 		super.createExampleGroup ();
 		exampleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
-		
+
 		/*
 		 * Create a group for the text widget to display
 		 * the results returned by the example dialogs.
@@ -493,7 +493,7 @@
 		resultGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		resultGroup.setText (ControlExample.getResourceString("Dialog_Result"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
@@ -504,9 +504,9 @@
 		 */
 		textWidget = new Text(resultGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
 		GridData gridData = new GridData (GridData.FILL_BOTH);
-		textWidget.setLayoutData (gridData);	
+		textWidget.setLayoutData (gridData);
 	}
-	
+
 	/**
 	 * The platform dialogs do not have SWT listeners.
 	 */
@@ -520,7 +520,7 @@
 	 * @param event the selection event
 	 */
 	void dialogSelected (SelectionEvent event) {
-	
+
 		/* Enable/Disable the buttons */
 		String name = dialogCombo.getText ();
 		boolean isMessageBox = name.equals (ControlExample.getResourceString("MessageBox"));
@@ -544,7 +544,7 @@
 		multiButton.setEnabled (isFileDialog);
 		effectsVisibleButton.setEnabled (isFontDialog);
 		usePreviousResultButton.setEnabled (!isMessageBox);
-	
+
 		/* Deselect the buttons */
 		if (!isMessageBox) {
 			okButton.setSelection (false);
@@ -556,7 +556,7 @@
 			ignoreButton.setSelection (false);
 		}
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -564,7 +564,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [0];
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -572,7 +572,7 @@
 	String getTabText () {
 		return "Dialog";
 	}
-	
+
 	/**
 	 * Recreates the "Example" widgets.
 	 */
@@ -580,6 +580,6 @@
 	void recreateExampleWidgets () {
 		if (textWidget == null) {
 			super.recreateExampleWidgets ();
-		} 
+		}
 	}
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
index 00a28e1..f49c1eb 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ExpandBarTab.java
@@ -19,8 +19,8 @@
 	/* Example widgets and groups that contain them */
 	ExpandBar expandBar1;
 	Group expandBarGroup;
-	
-	/* Style widgets added to the "Style" group */	
+
+	/* Style widgets added to the "Style" group */
 	Button verticalButton;
 
 	/**
@@ -29,35 +29,35 @@
 	ExpandBarTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the list */
 		expandBarGroup = new Group (exampleGroup, SWT.NONE);
 		expandBarGroup.setLayout (new GridLayout ());
 		expandBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		expandBarGroup.setText ("ExpandBar");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
 		if (verticalButton.getSelection()) style |= SWT.V_SCROLL;
-	
-		/* Create the example widgets */		
+
+		/* Create the example widgets */
 		expandBar1 = new ExpandBar (expandBarGroup, style);
-		
+
 		// First item
 		Composite composite = new Composite (expandBar1, SWT.NONE);
 		composite.setLayout(new GridLayout ());
@@ -70,10 +70,10 @@
 		item.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
 		item.setControl(composite);
 		item.setImage(instance.images[ControlExample.ciClosedFolder]);
-		
+
 		// Second item
 		composite = new Composite (expandBar1, SWT.NONE);
-		composite.setLayout(new GridLayout (2, false));	
+		composite.setLayout(new GridLayout (2, false));
 		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_ERROR));
 		new Label (composite, SWT.NONE).setText("SWT.ICON_ERROR");
 		new Label (composite, SWT.NONE).setImage(display.getSystemImage(SWT.ICON_INFORMATION));
@@ -89,14 +89,14 @@
 		item.setImage(instance.images[ControlExample.ciOpenFolder]);
 		item.setExpanded(true);
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		verticalButton = new Button (styleGroup, SWT.CHECK);
 		verticalButton.setText ("SWT.V_SCROLL");
@@ -104,7 +104,7 @@
 		borderButton = new Button(styleGroup, SWT.CHECK);
 		borderButton.setText("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -112,7 +112,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {expandBar1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -121,7 +121,7 @@
 	String[] getMethodNames() {
 		return new String[] {"Spacing"};
 	}
-	
+
 	/**
 	 * Gets the short text for the tab folder item.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
index efca6ef..7931cbb 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/GroupTab.java
@@ -18,11 +18,11 @@
 
 class GroupTab extends Tab {
 	Button titleButton;
-	
+
 	/* Example widgets and groups that contain them */
 	Group group1;
 	Group groupGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button shadowEtchedInButton, shadowEtchedOutButton, shadowInButton, shadowOutButton, shadowNoneButton;
 
@@ -32,18 +32,18 @@
 	GroupTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Other" group.
 	 */
 	@Override
 	void createOtherGroup () {
 		super.createOtherGroup ();
-	
+
 		/* Create display controls specific to this example */
 		titleButton = new Button (otherGroup, SWT.CHECK);
 		titleButton.setText (ControlExample.getResourceString("Title_Text"));
-	
+
 		/* Add the listeners */
 		titleButton.addSelectionListener (new SelectionAdapter () {
 			@Override
@@ -52,27 +52,27 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the Group */
 		groupGroup = new Group (exampleGroup, SWT.NONE);
 		groupGroup.setLayout (new GridLayout ());
 		groupGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		groupGroup.setText ("Group");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (shadowEtchedInButton.getSelection ()) style |= SWT.SHADOW_ETCHED_IN;
@@ -85,14 +85,14 @@
 		/* Create the example widgets */
 		group1 = new Group (groupGroup, style);
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		shadowEtchedInButton = new Button (styleGroup, SWT.RADIO);
 		shadowEtchedInButton.setText ("SWT.SHADOW_ETCHED_IN");
@@ -108,7 +108,7 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -116,7 +116,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {group1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
index feae21e..51a4194 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LabelTab.java
@@ -22,21 +22,21 @@
 
 	/* Style widgets added to the "Style" group */
 	Button wrapButton, separatorButton, horizontalButton, verticalButton, shadowInButton, shadowOutButton, shadowNoneButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	LabelTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the text labels */
 		textLabelGroup = new Group(exampleGroup, SWT.NONE);
 		GridLayout gridLayout = new GridLayout ();
@@ -44,7 +44,7 @@
 		gridLayout.numColumns = 3;
 		textLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		textLabelGroup.setText (ControlExample.getResourceString("Text_Labels"));
-	
+
 		/* Create a group for the image labels */
 		imageLabelGroup = new Group (exampleGroup, SWT.SHADOW_NONE);
 		gridLayout = new GridLayout ();
@@ -53,13 +53,13 @@
 		imageLabelGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		imageLabelGroup.setText (ControlExample.getResourceString("Image_Labels"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (wrapButton.getSelection ()) style |= SWT.WRAP;
@@ -73,7 +73,7 @@
 		if (leftButton.getSelection ()) style |= SWT.LEFT;
 		if (centerButton.getSelection ()) style |= SWT.CENTER;
 		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
+
 		/* Create the example widgets */
 		label1 = new Label (textLabelGroup, style);
 		label1.setText(ControlExample.getResourceString("One"));
@@ -92,14 +92,14 @@
 		label6 = new Label(imageLabelGroup, style);
 		label6.setImage (instance.images[ControlExample.ciTarget]);
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		wrapButton = new Button (styleGroup, SWT.CHECK);
 		wrapButton.setText ("SWT.WRAP");
@@ -120,7 +120,7 @@
 		borderButton = new Button(styleGroup, SWT.CHECK);
 		borderButton.setText("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -128,7 +128,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {label1, label2, label3, label4, label5, label6};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -145,7 +145,7 @@
 	String getTabText () {
 		return "Label";
 	}
-	
+
 	/**
 	 * Sets the alignment of the "Example" widgets.
 	 */
@@ -162,7 +162,7 @@
 		label5.setAlignment (alignment);
 		label6.setAlignment (alignment);
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -178,7 +178,7 @@
 		shadowOutButton.setSelection (isSeparator && (label1.getStyle () & SWT.SHADOW_OUT) != 0);
 		shadowNoneButton.setSelection (isSeparator && (label1.getStyle () & SWT.SHADOW_NONE) != 0);
 		horizontalButton.setSelection (isSeparator && (label1.getStyle () & SWT.HORIZONTAL) != 0);
-		verticalButton.setSelection (isSeparator && (label1.getStyle () & SWT.VERTICAL) != 0);		
+		verticalButton.setSelection (isSeparator && (label1.getStyle () & SWT.VERTICAL) != 0);
 		wrapButton.setEnabled (!isSeparator);
 		leftButton.setEnabled (!isSeparator);
 		centerButton.setEnabled (!isSeparator);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
index b707d0c..929fae7 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/LinkTab.java
@@ -19,55 +19,55 @@
 	/* Example widgets and groups that contain them */
 	Link link1;
 	Group linkGroup;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
 	LinkTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the list */
 		linkGroup = new Group (exampleGroup, SWT.NONE);
 		linkGroup.setLayout (new GridLayout ());
 		linkGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		linkGroup.setText ("Link");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
-		/* Create the example widgets */		
+
+		/* Create the example widgets */
 		link1 = new Link (linkGroup, style);
 		link1.setText (ControlExample.getResourceString("LinkText"));
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		borderButton = new Button(styleGroup, SWT.CHECK);
 		borderButton.setText("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -75,7 +75,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {link1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -84,7 +84,7 @@
 	String[] getMethodNames() {
 		return new String[] {"Text", "ToolTipText"};
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
index 156b1d9..a6e6657 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ListTab.java
@@ -20,7 +20,7 @@
 	/* Example widgets and groups that contain them */
 	List list1;
 	Group listGroup;
-	
+
 	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"),
 								  ControlExample.getResourceString("ListData1_1"),
 								  ControlExample.getResourceString("ListData1_2"),
@@ -37,27 +37,27 @@
 	ListTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the list */
 		listGroup = new Group (exampleGroup, SWT.NONE);
 		listGroup.setLayout (new GridLayout ());
 		listGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		listGroup.setText ("List");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (singleButton.getSelection ()) style |= SWT.SINGLE;
@@ -65,12 +65,12 @@
 		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
 		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
+
 		/* Create the example widgets */
 		list1 = new List (listGroup, style);
 		list1.setItems (ListData1);
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -78,7 +78,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {list1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
index b8da59a..814510a 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ProgressBarTab.java
@@ -136,7 +136,7 @@
 	int getDefaultMaximum () {
 		return progressBar1.getMaximum();
 	}
-	
+
 	/**
 	 * Gets the default minimim of the "Example" widgets.
 	 */
@@ -144,7 +144,7 @@
 	int getDefaultMinimum () {
 		return progressBar1.getMinimum();
 	}
-	
+
 	/**
 	 * Gets the default selection of the "Example" widgets.
 	 */
@@ -181,7 +181,7 @@
 	}
 
 	/**
-	 * Update the Spinner widgets to reflect the actual value set 
+	 * Update the Spinner widgets to reflect the actual value set
 	 * on the "Example" widget.
 	 */
 	void updateSpinners () {
@@ -189,7 +189,7 @@
 		updateSpinner (selectionSpinner, progressBar1.getSelection ());
 		updateSpinner (maximumSpinner, progressBar1.getMaximum ());
 	}
-	
+
 	void updateSpinner(Spinner spinner, int selection) {
 		if (spinner.getSelection() != selection) spinner.setSelection (selection);
 	}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
index de9f802..74b73f4 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/RangeTab.java
@@ -41,19 +41,19 @@
 		createMaximumGroup ();
 		createSelectionGroup ();
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the maximum
 	 * attribute of the example widget.
 	 */
 	void createMaximumGroup() {
-	
+
 		/* Create the group */
 		Group maximumGroup = new Group (controlGroup, SWT.NONE);
 		maximumGroup.setLayout (new GridLayout ());
 		maximumGroup.setText (ControlExample.getResourceString("Maximum"));
 		maximumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create a Spinner widget */
 		maximumSpinner = new Spinner (maximumGroup, SWT.BORDER);
 		maximumSpinner.setMaximum (100000);
@@ -61,7 +61,7 @@
 		maximumSpinner.setPageIncrement (100);
 		maximumSpinner.setIncrement (1);
 		maximumSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
+
 		/* Add the listeners */
 		maximumSpinner.addSelectionListener(new SelectionAdapter () {
 			@Override
@@ -70,19 +70,19 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the minimum
 	 * attribute of the example widget.
 	 */
 	void createMinimumGroup() {
-	
+
 		/* Create the group */
 		Group minimumGroup = new Group (controlGroup, SWT.NONE);
 		minimumGroup.setLayout (new GridLayout ());
 		minimumGroup.setText (ControlExample.getResourceString("Minimum"));
 		minimumGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create a Spinner widget */
 		minimumSpinner = new Spinner (minimumGroup, SWT.BORDER);
 		minimumSpinner.setMaximum (100000);
@@ -98,22 +98,22 @@
 				setWidgetMinimum ();
 			}
 		});
-	
+
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the selection
 	 * attribute of the example widget.
 	 */
 	void createSelectionGroup() {
-	
+
 		/* Create the group */
 		Group selectionGroup = new Group(controlGroup, SWT.NONE);
 		selectionGroup.setLayout(new GridLayout());
 		GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
 		selectionGroup.setLayoutData(gridData);
 		selectionGroup.setText(ControlExample.getResourceString("Selection"));
-	
+
 		/* Create a Spinner widget */
 		selectionSpinner = new Spinner (selectionGroup, SWT.BORDER);
 		selectionSpinner.setMaximum (100000);
@@ -129,16 +129,16 @@
 				setWidgetSelection ();
 			}
 		});
-		
+
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup () {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		if (orientationButtons) {
 			horizontalButton = new Button (styleGroup, SWT.RADIO);
@@ -149,7 +149,7 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -170,17 +170,17 @@
 			borderButton.setSelection ((widgets [0].getStyle () & SWT.BORDER) != 0);
 		}
 	}
-	
+
 	/**
 	 * Gets the default maximum of the "Example" widgets.
 	 */
 	abstract int getDefaultMaximum ();
-	
+
 	/**
 	 * Gets the default minimim of the "Example" widgets.
 	 */
 	abstract int getDefaultMinimum ();
-	
+
 	/**
 	 * Gets the default selection of the "Example" widgets.
 	 */
@@ -190,12 +190,12 @@
 	 * Sets the maximum of the "Example" widgets.
 	 */
 	abstract void setWidgetMaximum ();
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
 	abstract void setWidgetMinimum ();
-	
+
 	/**
 	 * Sets the selection of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
index ed135bd..3a8743a 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashFormTab.java
@@ -22,7 +22,7 @@
 	SashForm form;
 	List list1, list2;
 	Text text;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button horizontalButton, verticalButton, smoothButton;
 
@@ -34,7 +34,7 @@
 								  ControlExample.getResourceString("ListData0_5"), //$NON-NLS-1$
 								  ControlExample.getResourceString("ListData0_6"), //$NON-NLS-1$
 								  ControlExample.getResourceString("ListData0_7")}; //$NON-NLS-1$
-								  
+
 	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"), //$NON-NLS-1$
 								  ControlExample.getResourceString("ListData1_1"), //$NON-NLS-1$
 								  ControlExample.getResourceString("ListData1_2"), //$NON-NLS-1$
@@ -54,7 +54,7 @@
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the sashform widget */
 		sashFormGroup = new Group (exampleGroup, SWT.NONE);
 		sashFormGroup.setLayout (new GridLayout ());
@@ -63,13 +63,13 @@
 	}
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (horizontalButton.getSelection ()) style |= SWT.H_SCROLL;
 		if (verticalButton.getSelection ()) style |= SWT.V_SCROLL;
 		if (smoothButton.getSelection ()) style |= SWT.SMOOTH;
-		
+
 		/* Create the example widgets */
 		form = new SashForm (sashFormGroup, style);
 		list1 = new List (form, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
@@ -86,7 +86,7 @@
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup();
-	
+
 		/* Create the extra widgets */
 		horizontalButton = new Button (styleGroup, SWT.RADIO);
 		horizontalButton.setText ("SWT.HORIZONTAL");
@@ -98,7 +98,7 @@
 		smoothButton.setText ("SWT.SMOOTH");
 		smoothButton.setSelection(false);
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -106,7 +106,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {form};
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -114,7 +114,7 @@
 	String getTabText () {
 		return "SashForm"; //$NON-NLS-1$
 	}
-	
+
 		/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
index a4c0fe8..1dc6692 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SashTab.java
@@ -35,7 +35,7 @@
 								  ControlExample.getResourceString("ListData0_6"),
 								  ControlExample.getResourceString("ListData0_7"),
 								  ControlExample.getResourceString("ListData0_8")};
-								  
+
 	static String [] ListData1 = {ControlExample.getResourceString("ListData1_0"),
 								  ControlExample.getResourceString("ListData1_1"),
 								  ControlExample.getResourceString("ListData1_2"),
@@ -56,7 +56,7 @@
 	SashTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
@@ -65,7 +65,7 @@
 		super.createExampleGroup ();
 		exampleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		exampleGroup.setLayout(new FillLayout());
-		
+
 		/* Create a group for the sash widgets */
 		sashGroup = new Group (exampleGroup, SWT.NONE);
 		FillLayout layout = new FillLayout();
@@ -84,7 +84,7 @@
 		 */
 		int style = getDefaultStyle();
 		sashComp = new Composite(sashGroup, SWT.BORDER | style);
-	
+
 		/* Create the list and text widgets */
 		list1 = new List (sashComp, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
 		list1.setItems (ListData0);
@@ -92,12 +92,12 @@
 		list2.setItems (ListData1);
 		text = new Text (sashComp, SWT.MULTI | SWT.BORDER);
 		text.setText (ControlExample.getResourceString("Multi_line"));
-	
+
 		/* Create the sashes */
 		style = smoothButton.getSelection() ? SWT.SMOOTH : SWT.NONE;
 		vSash = new Sash (sashComp, SWT.VERTICAL | style);
 		hSash = new Sash (sashComp, SWT.HORIZONTAL | style);
-		
+
 		/* Add the listeners */
 		hSash.addSelectionListener (new SelectionAdapter () {
 			@Override
@@ -133,23 +133,23 @@
 	 * Creates the "Size" group.  The "Size" group contains
 	 * controls that allow the user to change the size of
 	 * the example widgets.
-	 */	
+	 */
 	@Override
-	void createSizeGroup () {		
+	void createSizeGroup () {
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		smoothButton = new Button (styleGroup, SWT.CHECK);
 		smoothButton.setText("SWT.SMOOTH");
 	}
-	
+
 	@Override
 	void disposeExampleWidgets () {
 		sashComp.dispose();
@@ -163,7 +163,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {hSash, vSash};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -180,21 +180,21 @@
 	String getTabText () {
 		return "Sash";
 	}
-	
+
 	/**
 	 * Layout the list and text widgets according to the new
 	 * positions of the sashes..events.SelectionEvent
 	 */
 	void layout () {
-		
+
 		Rectangle clientArea = sashComp.getClientArea ();
 		Rectangle hSashBounds = hSash.getBounds ();
 		Rectangle vSashBounds = vSash.getBounds ();
-		
+
 		list1.setBounds (0, 0, vSashBounds.x, hSashBounds.y);
 		list2.setBounds (vSashBounds.x + vSashBounds.width, 0, clientArea.width - (vSashBounds.x + vSashBounds.width), hSashBounds.y);
 		text.setBounds (0, hSashBounds.y + hSashBounds.height, clientArea.width, clientArea.height - (hSashBounds.y + hSashBounds.height));
-	
+
 		/**
 		* If the horizontal sash has been moved then the vertical
 		* sash is either too long or too short and its size must
@@ -210,7 +210,7 @@
 	void setExampleWidgetSize () {
 		sashGroup.layout (true);
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -219,34 +219,34 @@
 		super.setExampleWidgetState ();
 		smoothButton.setSelection ((hSash.getStyle () & SWT.SMOOTH) != 0);
 	}
-	
+
 	/**
 	 * Handle the shell resized event.
 	 */
 	void resized () {
-	
+
 		/* Get the client area for the shell */
 		Rectangle clientArea = sashComp.getClientArea ();
-		
+
 		/*
 		* Make list 1 half the width and half the height of the tab leaving room for the sash.
 		* Place list 1 in the top left quadrant of the tab.
 		*/
 		Rectangle list1Bounds = new Rectangle (0, 0, (clientArea.width - SASH_WIDTH) / 2, (clientArea.height - SASH_WIDTH) / 2);
 		list1.setBounds (list1Bounds);
-	
+
 		/*
 		* Make list 2 half the width and half the height of the tab leaving room for the sash.
 		* Place list 2 in the top right quadrant of the tab.
 		*/
 		list2.setBounds (list1Bounds.width + SASH_WIDTH, 0, clientArea.width - (list1Bounds.width + SASH_WIDTH), list1Bounds.height);
-	
+
 		/*
 		* Make the text area the full width and half the height of the tab leaving room for the sash.
 		* Place the text area in the bottom half of the tab.
 		*/
 		text.setBounds (0, list1Bounds.height + SASH_WIDTH, clientArea.width, clientArea.height - (list1Bounds.height + SASH_WIDTH));
-	
+
 		/* Position the sashes */
 		vSash.setBounds (list1Bounds.width, 0, SASH_WIDTH, list1Bounds.height);
 		hSash.setBounds (0, list1Bounds.height, clientArea.width, SASH_WIDTH);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
index 0b3dd41..9198892 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScaleTab.java
@@ -23,7 +23,7 @@
 
 	/* Spinner widgets added to the "Control" group */
 	Spinner incrementSpinner, pageIncrementSpinner;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
@@ -40,50 +40,50 @@
 		createIncrementGroup ();
 		createPageIncrementGroup ();
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the scale */
 		scaleGroup = new Group (exampleGroup, SWT.NONE);
 		scaleGroup.setLayout (new GridLayout ());
 		scaleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		scaleGroup.setText ("Scale");
-	
+
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
 		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
+
 		/* Create the example widgets */
 		scale1 = new Scale (scaleGroup, style);
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the increment
 	 * attribute of the example widget.
 	 */
 	void createIncrementGroup() {
-	
+
 		/* Create the group */
 		Group incrementGroup = new Group (controlGroup, SWT.NONE);
 		incrementGroup.setLayout (new GridLayout ());
 		incrementGroup.setText (ControlExample.getResourceString("Increment"));
 		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create the Spinner widget */
 		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
 		incrementSpinner.setMaximum (100000);
@@ -91,28 +91,28 @@
 		incrementSpinner.setPageIncrement (100);
 		incrementSpinner.setIncrement (1);
 		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
+
 		/* Add the listeners */
 		incrementSpinner.addSelectionListener (new SelectionAdapter () {
 			@Override
-			public void widgetSelected (SelectionEvent e) {		
+			public void widgetSelected (SelectionEvent e) {
 				setWidgetIncrement ();
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the page increment
 	 * attribute of the example widget.
 	 */
 	void createPageIncrementGroup() {
-	
+
 		/* Create the group */
 		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
 		pageIncrementGroup.setLayout (new GridLayout ());
 		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
 		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
+
 		/* Create the Spinner widget */
 		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
 		pageIncrementSpinner.setMaximum (100000);
@@ -129,7 +129,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -137,7 +137,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {scale1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -154,7 +154,7 @@
 	String getTabText () {
 		return "Scale";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -166,7 +166,7 @@
 			setWidgetPageIncrement ();
 		}
 	}
-	
+
 	/**
 	 * Gets the default maximum of the "Example" widgets.
 	 */
@@ -174,7 +174,7 @@
 	int getDefaultMaximum () {
 		return scale1.getMaximum();
 	}
-	
+
 	/**
 	 * Gets the default minimim of the "Example" widgets.
 	 */
@@ -182,7 +182,7 @@
 	int getDefaultMinimum () {
 		return scale1.getMinimum();
 	}
-	
+
 	/**
 	 * Gets the default selection of the "Example" widgets.
 	 */
@@ -197,21 +197,21 @@
 	int getDefaultIncrement () {
 		return scale1.getIncrement();
 	}
-	
+
 	/**
 	 * Gets the default page increment of the "Example" widgets.
 	 */
 	int getDefaultPageIncrement () {
 		return scale1.getPageIncrement();
 	}
-	
+
 	/**
 	 * Sets the increment of the "Example" widgets.
 	 */
 	void setWidgetIncrement () {
 		scale1.setIncrement (incrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -219,7 +219,7 @@
 	void setWidgetMaximum () {
 		scale1.setMaximum (maximumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -227,14 +227,14 @@
 	void setWidgetMinimum () {
 		scale1.setMinimum (minimumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the page increment of the "Example" widgets.
 	 */
 	void setWidgetPageIncrement () {
 		scale1.setPageIncrement (pageIncrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the selection of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
index 35be1b4..3edd045 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ScrollableTab.java
@@ -15,7 +15,7 @@
 import org.eclipse.swt.widgets.*;
 
 abstract class ScrollableTab extends Tab {
-	/* Style widgets added to the "Style" group */	
+	/* Style widgets added to the "Style" group */
 	Button singleButton, multiButton, horizontalButton, verticalButton;
 
 	/**
@@ -31,7 +31,7 @@
 	@Override
 	void createStyleGroup () {
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		singleButton = new Button (styleGroup, SWT.RADIO);
 		singleButton.setText ("SWT.SINGLE");
@@ -46,7 +46,7 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
index 866abfd..cb85a14 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ShellTab.java
@@ -23,7 +23,7 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Widget;
 
-class ShellTab extends Tab {	
+class ShellTab extends Tab {
 	/* Style widgets added to the "Style" groups, and "Other" group */
 	Button noParentButton, parentButton;
 	Button noTrimButton, closeButton, titleButton, minButton, maxButton, borderButton, resizeButton, onTopButton, toolButton, sheetButton, shellTrimButton, dialogTrimButton, noMoveButton;
@@ -35,7 +35,7 @@
 	/* Variables used to track the open shells */
 	int shellCount = 0;
 	Shell [] shells = new Shell [4];
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
@@ -55,14 +55,14 @@
 		}
 		shellCount = 0;
 	}
-	
+
 	/**
 	 * Handle the Create button selection event.
 	 *
 	 * @param event org.eclipse.swt.events.SelectionEvent
 	 */
 	public void createButtonSelected(SelectionEvent event) {
-	
+
 		/*
 		 * Remember the example shells so they
 		 * can be disposed by the user.
@@ -72,7 +72,7 @@
 			System.arraycopy (shells, 0, newShells, 0, shells.length);
 			shells = newShells;
 		}
-	
+
 		/* Compute the shell style */
 		int style = SWT.NONE;
 		if (noTrimButton.getSelection()) style |= SWT.NO_TRIM;
@@ -90,7 +90,7 @@
 		if (primaryModalButton.getSelection()) style |= SWT.PRIMARY_MODAL;
 		if (applicationModalButton.getSelection()) style |= SWT.APPLICATION_MODAL;
 		if (systemModalButton.getSelection()) style |= SWT.SYSTEM_MODAL;
-	
+
 		/* Create the shell with or without a parent */
 		if (noParentButton.getSelection ()) {
 			shells [shellCount] = new Shell (style);
@@ -112,7 +112,7 @@
 		close.setBounds(160, 20, 120, 30);
 		close.setText(ControlExample.getResourceString("Close"));
 		close.addListener(SWT.Selection, event1 -> currentShell.dispose());
-	
+
 		/* Set the size, title, and image, and open the shell */
 		currentShell.setSize (300, 100);
 		currentShell.setText (ControlExample.getResourceString("Title") + shellCount);
@@ -122,9 +122,9 @@
 		currentShell.open ();
 		shellCount++;
 	}
-	
+
 	/**
-	 * Creates the "Control" group. 
+	 * Creates the "Control" group.
 	 */
 	@Override
 	void createControlGroup () {
@@ -132,23 +132,23 @@
 		 * Create the "Control" group.  This is the group on the
 		 * right half of each example tab.  It consists of the
 		 * style group, the 'other' group and the size group.
-		 */		
+		 */
 		controlGroup = new Group (tabFolderPage, SWT.NONE);
 		controlGroup.setLayout (new GridLayout (2, true));
 		controlGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
 		controlGroup.setText (ControlExample.getResourceString("Parameters"));
-	
+
 		/* Create a group for the decoration style controls */
 		styleGroup = new Group (controlGroup, SWT.NONE);
 		styleGroup.setLayout (new GridLayout ());
 		styleGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, false, false, 1, 3));
 		styleGroup.setText (ControlExample.getResourceString("Decoration_Styles"));
-	
+
 		/* Create a group for the modal style controls */
 		modalStyleGroup = new Group (controlGroup, SWT.NONE);
 		modalStyleGroup.setLayout (new GridLayout ());
 		modalStyleGroup.setLayoutData (new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));		
+		modalStyleGroup.setText (ControlExample.getResourceString("Modal_Styles"));
 
 		/* Create a group for the 'other' controls */
 		otherGroup = new Group (controlGroup, SWT.NONE);
@@ -163,19 +163,19 @@
 		parentStyleGroup.setLayoutData (gridData);
 		parentStyleGroup.setText (ControlExample.getResourceString("Parent"));
 	}
-	
+
 	/**
 	 * Creates the "Control" widget children.
 	 */
 	@Override
 	void createControlWidgets () {
-	
+
 		/* Create the parent style buttons */
 		noParentButton = new Button (parentStyleGroup, SWT.RADIO);
 		noParentButton.setText (ControlExample.getResourceString("No_Parent"));
 		parentButton = new Button (parentStyleGroup, SWT.RADIO);
 		parentButton.setText (ControlExample.getResourceString("Parent"));
-	
+
 		/* Create the decoration style buttons */
 		noTrimButton = new Button (styleGroup, SWT.CHECK);
 		noTrimButton.setText ("SWT.NO_TRIM");
@@ -205,7 +205,7 @@
 		shellTrimButton.setText ("SWT.SHELL_TRIM");
 		dialogTrimButton = new Button (styleGroup, SWT.CHECK);
 		dialogTrimButton.setText ("SWT.DIALOG_TRIM");
-	
+
 		/* Create the modal style buttons */
 		modelessButton = new Button (modalStyleGroup, SWT.RADIO);
 		modelessButton.setText ("SWT.MODELESS");
@@ -215,15 +215,15 @@
 		applicationModalButton.setText ("SWT.APPLICATION_MODAL");
 		systemModalButton = new Button (modalStyleGroup, SWT.RADIO);
 		systemModalButton.setText ("SWT.SYSTEM_MODAL");
-	
+
 		/* Create the 'other' buttons */
 		imageButton = new Button (otherGroup, SWT.CHECK);
 		imageButton.setText (ControlExample.getResourceString("Image"));
 		backgroundImageButton = new Button(otherGroup, SWT.CHECK);
 		backgroundImageButton.setText(ControlExample.getResourceString("BackgroundImage"));
-		
+
 		createSetGetGroup();
-	
+
 		/* Create the "create" and "closeAll" buttons */
 		createButton = new Button (controlGroup, SWT.NONE);
 		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_END);
@@ -233,7 +233,7 @@
 		gridData = new GridData (GridData.HORIZONTAL_ALIGN_BEGINNING);
 		closeAllButton.setText (ControlExample.getResourceString("Close_All_Shells"));
 		closeAllButton.setLayoutData (gridData);
-	
+
 		/* Add the listeners */
 		createButton.addSelectionListener(new SelectionAdapter() {
 			@Override
@@ -265,12 +265,12 @@
 		shellTrimButton.addSelectionListener (decorationButtonListener);
 		applicationModalButton.addSelectionListener (decorationButtonListener);
 		systemModalButton.addSelectionListener (decorationButtonListener);
-	
+
 		/* Set the default state */
 		noParentButton.setSelection (true);
 		modelessButton.setSelection (true);
 	}
-	
+
 	/**
 	 * Handle a decoration button selection event.
 	 *
@@ -278,9 +278,9 @@
 	 */
 	public void decorationButtonSelected(SelectionEvent event) {
 		Button widget = (Button) event.widget;
-		
+
 		/*
-		 * Make sure that if the modal style is SWT.APPLICATION_MODAL 
+		 * Make sure that if the modal style is SWT.APPLICATION_MODAL
 		 * or SWT.SYSTEM_MODAL the style SWT.CLOSE is also selected.
 		 * This is to make sure the user can close the shell.
 		 */
@@ -288,14 +288,14 @@
 			if (widget.getSelection()) {
 				closeButton.setSelection (true);
 				noTrimButton.setSelection (false);
-			} 
+			}
 			return;
 		}
 		if (widget == closeButton) {
 			if (applicationModalButton.getSelection() || systemModalButton.getSelection()) {
 				closeButton.setSelection (true);
 			}
-		}	
+		}
 		/*
 		 * Make sure that if the SWT.NO_TRIM button is selected
 		 * then all other decoration buttons are deselected.
@@ -316,7 +316,7 @@
 				noTrimButton.setSelection (false);
 			}
 		}
-		
+
 		/*
 		 * Make sure that the SWT.DIALOG_TRIM and SWT.SHELL_TRIM buttons
 		 * are consistent.
@@ -346,7 +346,7 @@
 			shellTrimButton.setSelection(title && close && min && max && resize && !border);
 		}
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -354,7 +354,7 @@
 	String getTabText () {
 		return "Shell";
 	}
-	
+
 	@Override
 	String[] getMethodNames() {
 		return new String[] {"Alpha", "Bounds", "MinimumSize", "Modified", "Text"};
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
index 3ec9d83..3ffb032 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SliderTab.java
@@ -23,7 +23,7 @@
 
 	/* Spinner widgets added to the "Control" group */
 	Spinner incrementSpinner, pageIncrementSpinner, thumbSpinner;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
@@ -41,49 +41,49 @@
 		createIncrementGroup ();
 		createPageIncrementGroup ();
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the slider */
 		sliderGroup = new Group (exampleGroup, SWT.NONE);
 		sliderGroup.setLayout (new GridLayout ());
 		sliderGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		sliderGroup.setText ("Slider");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (horizontalButton.getSelection ()) style |= SWT.HORIZONTAL;
 		if (verticalButton.getSelection ()) style |= SWT.VERTICAL;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
-	
+
 		/* Create the example widgets */
 		slider1 = new Slider(sliderGroup, style);
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the increment
 	 * attribute of the example widget.
 	 */
 	void createIncrementGroup() {
-	
+
 		/* Create the group */
 		Group incrementGroup = new Group (controlGroup, SWT.NONE);
 		incrementGroup.setLayout (new GridLayout ());
 		incrementGroup.setText (ControlExample.getResourceString("Increment"));
 		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create the Spinner widget */
 		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
 		incrementSpinner.setMaximum (100000);
@@ -91,28 +91,28 @@
 		incrementSpinner.setPageIncrement (100);
 		incrementSpinner.setIncrement (1);
 		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
+
 		/* Add the listeners */
 		incrementSpinner.addSelectionListener (new SelectionAdapter () {
 			@Override
-			public void widgetSelected (SelectionEvent e) {		
+			public void widgetSelected (SelectionEvent e) {
 				setWidgetIncrement ();
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the page increment
 	 * attribute of the example widget.
 	 */
 	void createPageIncrementGroup() {
-	
+
 		/* Create the group */
 		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
 		pageIncrementGroup.setLayout (new GridLayout ());
 		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
 		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
+
 		/* Create the Spinner widget */
 		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
 		pageIncrementSpinner.setMaximum (100000);
@@ -129,19 +129,19 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the thumb
 	 * attribute of the example widget.
 	 */
 	void createThumbGroup() {
-	
+
 		/* Create the group */
 		Group thumbGroup = new Group (controlGroup, SWT.NONE);
 		thumbGroup.setLayout (new GridLayout ());
 		thumbGroup.setText (ControlExample.getResourceString("Thumb"));
 		thumbGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-		
+
 		/* Create the Spinner widget */
 		thumbSpinner = new Spinner (thumbGroup, SWT.BORDER);
 		thumbSpinner.setMaximum (100000);
@@ -158,7 +158,7 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -166,7 +166,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {slider1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -183,7 +183,7 @@
 	String getTabText () {
 		return "Slider";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -196,7 +196,7 @@
 			setWidgetThumb ();
 		}
 	}
-	
+
 	/**
 	 * Gets the default maximum of the "Example" widgets.
 	 */
@@ -204,7 +204,7 @@
 	int getDefaultMaximum () {
 		return slider1.getMaximum();
 	}
-	
+
 	/**
 	 * Gets the default minimim of the "Example" widgets.
 	 */
@@ -212,7 +212,7 @@
 	int getDefaultMinimum () {
 		return slider1.getMinimum();
 	}
-	
+
 	/**
 	 * Gets the default selection of the "Example" widgets.
 	 */
@@ -227,14 +227,14 @@
 	int getDefaultIncrement () {
 		return slider1.getIncrement();
 	}
-	
+
 	/**
 	 * Gets the default page increment of the "Example" widgets.
 	 */
 	int getDefaultPageIncrement () {
 		return slider1.getPageIncrement();
 	}
-	
+
 	/**
 	 * Gets the default thumb of the "Example" widgets.
 	 */
@@ -248,7 +248,7 @@
 	void setWidgetIncrement () {
 		slider1.setIncrement (incrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -256,7 +256,7 @@
 	void setWidgetMaximum () {
 		slider1.setMaximum (maximumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -264,14 +264,14 @@
 	void setWidgetMinimum () {
 		slider1.setMinimum (minimumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the page increment of the "Example" widgets.
 	 */
 	void setWidgetPageIncrement () {
 		slider1.setPageIncrement (pageIncrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the selection of the "Example" widgets.
 	 */
@@ -279,7 +279,7 @@
 	void setWidgetSelection () {
 		slider1.setSelection (selectionSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the thumb of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
index 233aaed..9af6053 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/SpinnerTab.java
@@ -21,10 +21,10 @@
 	/* Example widgets and groups that contain them */
 	Spinner spinner1;
 	Group spinnerGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button readOnlyButton, wrapButton;
-	
+
 	/* Spinner widgets added to the "Control" group */
 	Spinner incrementSpinner, pageIncrementSpinner, digitsSpinner;
 
@@ -34,7 +34,7 @@
 	SpinnerTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Control" widget children.
 	 */
@@ -45,49 +45,49 @@
 		createPageIncrementGroup ();
 		createDigitsGroup ();
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the spinner */
 		spinnerGroup = new Group (exampleGroup, SWT.NONE);
 		spinnerGroup.setLayout (new GridLayout ());
 		spinnerGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		spinnerGroup.setText ("Spinner");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (readOnlyButton.getSelection ()) style |= SWT.READ_ONLY;
 		if (borderButton.getSelection ()) style |= SWT.BORDER;
 		if (wrapButton.getSelection ()) style |= SWT.WRAP;
-		
+
 		/* Create the example widgets */
 		spinner1 = new Spinner (spinnerGroup, style);
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the increment
 	 * attribute of the example widget.
 	 */
 	void createIncrementGroup() {
-	
+
 		/* Create the group */
 		Group incrementGroup = new Group (controlGroup, SWT.NONE);
 		incrementGroup.setLayout (new GridLayout ());
 		incrementGroup.setText (ControlExample.getResourceString("Increment"));
 		incrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create the Spinner widget */
 		incrementSpinner = new Spinner (incrementGroup, SWT.BORDER);
 		incrementSpinner.setMaximum (100000);
@@ -95,28 +95,28 @@
 		incrementSpinner.setPageIncrement (100);
 		incrementSpinner.setIncrement (1);
 		incrementSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
+
 		/* Add the listeners */
 		incrementSpinner.addSelectionListener (new SelectionAdapter () {
 			@Override
-			public void widgetSelected (SelectionEvent e) {		
+			public void widgetSelected (SelectionEvent e) {
 				setWidgetIncrement ();
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the page increment
 	 * attribute of the example widget.
 	 */
 	void createPageIncrementGroup() {
-	
+
 		/* Create the group */
 		Group pageIncrementGroup = new Group (controlGroup, SWT.NONE);
 		pageIncrementGroup.setLayout (new GridLayout ());
 		pageIncrementGroup.setText (ControlExample.getResourceString("Page_Increment"));
 		pageIncrementGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-			
+
 		/* Create the Spinner widget */
 		pageIncrementSpinner = new Spinner (pageIncrementGroup, SWT.BORDER);
 		pageIncrementSpinner.setMaximum (100000);
@@ -133,19 +133,19 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Create a group of widgets to control the digits
 	 * attribute of the example widget.
 	 */
 	void createDigitsGroup() {
-	
+
 		/* Create the group */
 		Group digitsGroup = new Group (controlGroup, SWT.NONE);
 		digitsGroup.setLayout (new GridLayout ());
 		digitsGroup.setText (ControlExample.getResourceString("Digits"));
 		digitsGroup.setLayoutData (new GridData (GridData.FILL_HORIZONTAL));
-	
+
 		/* Create the Spinner widget */
 		digitsSpinner = new Spinner (digitsGroup, SWT.BORDER);
 		digitsSpinner.setMaximum (100000);
@@ -153,16 +153,16 @@
 		digitsSpinner.setPageIncrement (100);
 		digitsSpinner.setIncrement (1);
 		digitsSpinner.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
-	
+
 		/* Add the listeners */
 		digitsSpinner.addSelectionListener (new SelectionAdapter () {
 			@Override
-			public void widgetSelected (SelectionEvent e) {		
+			public void widgetSelected (SelectionEvent e) {
 				setWidgetDigits ();
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the tab folder page.
 	 *
@@ -185,7 +185,7 @@
 				setExampleWidgetSize ();
 			}
 		});
-		
+
 		return tabFolderPage;
 	}
 
@@ -196,14 +196,14 @@
 	void createStyleGroup () {
 		orientationButtons = false;
 		super.createStyleGroup ();
-	
+
 		/* Create the extra widgets */
 		readOnlyButton = new Button (styleGroup, SWT.CHECK);
 		readOnlyButton.setText ("SWT.READ_ONLY");
 		wrapButton = new Button (styleGroup, SWT.CHECK);
 		wrapButton.setText ("SWT.WRAP");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -211,7 +211,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {spinner1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -228,7 +228,7 @@
 	String getTabText () {
 		return "Spinner";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -251,7 +251,7 @@
 	int getDefaultMaximum () {
 		return spinner1.getMaximum();
 	}
-	
+
 	/**
 	 * Gets the default minimim of the "Example" widgets.
 	 */
@@ -259,7 +259,7 @@
 	int getDefaultMinimum () {
 		return spinner1.getMinimum();
 	}
-	
+
 	/**
 	 * Gets the default selection of the "Example" widgets.
 	 */
@@ -274,14 +274,14 @@
 	int getDefaultIncrement () {
 		return spinner1.getIncrement();
 	}
-	
+
 	/**
 	 * Gets the default page increment of the "Example" widgets.
 	 */
 	int getDefaultPageIncrement () {
 		return spinner1.getPageIncrement();
 	}
-	
+
 	/**
 	 * Gets the default digits of the "Example" widgets.
 	 */
@@ -295,7 +295,7 @@
 	void setWidgetIncrement () {
 		spinner1.setIncrement (incrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -303,7 +303,7 @@
 	void setWidgetMaximum () {
 		spinner1.setMaximum (maximumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the minimim of the "Example" widgets.
 	 */
@@ -311,21 +311,21 @@
 	void setWidgetMinimum () {
 		spinner1.setMinimum (minimumSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the page increment of the "Example" widgets.
 	 */
 	void setWidgetPageIncrement () {
 		spinner1.setPageIncrement (pageIncrementSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the digits of the "Example" widgets.
 	 */
 	void setWidgetDigits () {
 		spinner1.setDigits (digitsSpinner.getSelection ());
 	}
-	
+
 	/**
 	 * Sets the selection of the "Example" widgets.
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
index 6fe378b..dff3654 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TabFolderTab.java
@@ -26,7 +26,7 @@
 	/* Example widgets and groups that contain them */
 	TabFolder tabFolder1;
 	Group tabFolderGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button topButton, bottomButton;
 
@@ -40,27 +40,27 @@
 	TabFolderTab(ControlExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the "Example" group.
 	 */
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the TabFolder */
 		tabFolderGroup = new Group (exampleGroup, SWT.NONE);
 		tabFolderGroup.setLayout (new GridLayout ());
 		tabFolderGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		tabFolderGroup.setText ("TabFolder");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (topButton.getSelection ()) style |= SWT.TOP;
@@ -78,14 +78,14 @@
 			item.setControl(content);
 		}
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup ();
-		
+
 		/* Create the extra widgets */
 		topButton = new Button (styleGroup, SWT.RADIO);
 		topButton.setText ("SWT.TOP");
@@ -95,7 +95,7 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children's items, if any.
 	 *
@@ -105,7 +105,7 @@
 	Item [] getExampleWidgetItems () {
 		return tabFolder1.getItems();
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -113,7 +113,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {tabFolder1};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
index 73bb6d8..f2ce803 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/TextTab.java
@@ -24,7 +24,7 @@
 	/* Style widgets added to the "Style" group */
 	Button wrapButton, readOnlyButton, passwordButton, searchButton, iconCancelButton, iconSearchButton;
 	Button leftButton, centerButton, rightButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
@@ -38,20 +38,20 @@
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the text widget */
 		textGroup = new Group (exampleGroup, SWT.NONE);
 		textGroup.setLayout (new GridLayout ());
 		textGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		textGroup.setText ("Text");
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-		
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (singleButton.getSelection ()) style |= SWT.SINGLE;
@@ -68,19 +68,19 @@
 		if (leftButton.getSelection ()) style |= SWT.LEFT;
 		if (centerButton.getSelection ()) style |= SWT.CENTER;
 		if (rightButton.getSelection ()) style |= SWT.RIGHT;
-	
+
 		/* Create the example widgets */
 		text = new Text (textGroup, style);
 		text.setText (ControlExample.getResourceString("Example_string") + Text.DELIMITER + ControlExample.getResourceString("One_Two_Three"));
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup();
-	
+
 		/* Create the extra widgets */
 		wrapButton = new Button (styleGroup, SWT.CHECK);
 		wrapButton.setText ("SWT.WRAP");
@@ -130,7 +130,7 @@
 				setExampleWidgetSize ();
 			}
 		});
-		
+
 		return tabFolderPage;
 	}
 
@@ -141,7 +141,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {text};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -158,7 +158,7 @@
 	String getTabText () {
 		return "Text";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -172,7 +172,7 @@
 		leftButton.setSelection ((text.getStyle () & SWT.LEFT) != 0);
 		centerButton.setSelection ((text.getStyle () & SWT.CENTER) != 0);
 		rightButton.setSelection ((text.getStyle () & SWT.RIGHT) != 0);
-		
+
 		/* Special case: ICON_CANCEL and H_SCROLL have the same value,
 		 * and ICON_SEARCH and V_SCROLL have the same value,
 		 * so to avoid confusion, only set CANCEL if SEARCH is set. */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
index f13b8b5..3dac1c5 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ToolBarTab.java
@@ -31,13 +31,13 @@
 	/* Example widgets and groups that contain them */
 	ToolBar imageToolBar, textToolBar, imageTextToolBar;
 	Group imageToolBarGroup, textToolBarGroup, imageTextToolBarGroup;
-	
+
 	/* Style widgets added to the "Style" group */
 	Button horizontalButton, verticalButton, flatButton, shadowOutButton, wrapButton, rightButton;
 
 	/* Other widgets added to the "Other" group */
 	Button comboChildButton;
-	
+
 	/**
 	 * Creates the Tab within a given instance of ControlExample.
 	 */
@@ -51,32 +51,32 @@
 	@Override
 	void createExampleGroup () {
 		super.createExampleGroup ();
-		
+
 		/* Create a group for the image tool bar */
 		imageToolBarGroup = new Group (exampleGroup, SWT.NONE);
 		imageToolBarGroup.setLayout (new GridLayout ());
 		imageToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		imageToolBarGroup.setText (ControlExample.getResourceString("Image_ToolBar"));
-	
+
 		/* Create a group for the text tool bar */
 		textToolBarGroup = new Group (exampleGroup, SWT.NONE);
 		textToolBarGroup.setLayout (new GridLayout ());
 		textToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		textToolBarGroup.setText (ControlExample.getResourceString("Text_ToolBar"));
-		
+
 		/* Create a group for the image and text tool bar */
 		imageTextToolBarGroup = new Group (exampleGroup, SWT.NONE);
 		imageTextToolBarGroup.setLayout (new GridLayout ());
 		imageTextToolBarGroup.setLayoutData (new GridData (SWT.FILL, SWT.FILL, true, true));
 		imageTextToolBarGroup.setText (ControlExample.getResourceString("ImageText_ToolBar"));
 	}
-	
+
 	/**
 	 * Creates the "Example" widgets.
 	 */
 	@Override
 	void createExampleWidgets () {
-	
+
 		/* Compute the widget style */
 		int style = getDefaultStyle();
 		if (horizontalButton.getSelection()) style |= SWT.HORIZONTAL;
@@ -86,14 +86,14 @@
 		if (borderButton.getSelection()) style |= SWT.BORDER;
 		if (shadowOutButton.getSelection()) style |= SWT.SHADOW_OUT;
 		if (rightButton.getSelection()) style |= SWT.RIGHT;
-	
+
 		/*
 		* Create the example widgets.
 		*
 		* A tool bar must consist of all image tool
 		* items or all text tool items but not both.
 		*/
-	
+
 		/* Create the image tool bar */
 		imageToolBar = new ToolBar (imageToolBarGroup, style);
 		ToolItem item = new ToolItem (imageToolBar, SWT.PUSH);
@@ -131,7 +131,7 @@
 		item.setImage (instance.images[ControlExample.ciTarget]);
 		item.setToolTipText ("SWT.DROP_DOWN");
 		item.addSelectionListener(new DropDownSelectionListener());
-	
+
 		/* Create the text tool bar */
 		textToolBar = new ToolBar (textToolBarGroup, style);
 		item = new ToolItem (textToolBar, SWT.PUSH);
@@ -223,18 +223,18 @@
 		* is selected.
 		*/
 	}
-	
+
 	/**
 	 * Creates the "Other" group.
 	 */
 	@Override
 	void createOtherGroup () {
 		super.createOtherGroup ();
-	
+
 		/* Create display controls specific to this example */
 		comboChildButton = new Button (otherGroup, SWT.CHECK);
 		comboChildButton.setText (ControlExample.getResourceString("Combo_child"));
-	
+
 		/* Add the listeners */
 		comboChildButton.addSelectionListener (new SelectionAdapter () {
 			@Override
@@ -243,14 +243,14 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the "Style" group.
 	 */
 	@Override
 	void createStyleGroup() {
 		super.createStyleGroup();
-	
+
 		/* Create the extra widgets */
 		horizontalButton = new Button (styleGroup, SWT.RADIO);
 		horizontalButton.setText ("SWT.HORIZONTAL");
@@ -267,12 +267,12 @@
 		borderButton = new Button (styleGroup, SWT.CHECK);
 		borderButton.setText ("SWT.BORDER");
 	}
-	
+
 	@Override
 	void disposeExampleWidgets () {
 		super.disposeExampleWidgets ();
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children's items, if any.
 	 *
@@ -289,7 +289,7 @@
 		System.arraycopy(imageTextToolBarItems, 0, allItems, imageToolBarItems.length + textToolBarItems.length, imageTextToolBarItems.length);
 		return allItems;
 	}
-	
+
 	/**
 	 * Gets the "Example" widget children.
 	 */
@@ -297,7 +297,7 @@
 	Widget [] getExampleWidgets () {
 		return new Widget [] {imageToolBar, textToolBar, imageTextToolBar};
 	}
-	
+
 	/**
 	 * Returns a list of set/get API method names (without the set/get prefix)
 	 * that can be used to set/get values in the example control(s).
@@ -322,7 +322,7 @@
 	String getTabText () {
 		return "ToolBar";
 	}
-	
+
 	/**
 	 * Sets the state of the "Example" widgets.
 	 */
@@ -337,14 +337,14 @@
 		borderButton.setSelection ((imageToolBar.getStyle () & SWT.BORDER) != 0);
 		rightButton.setSelection ((imageToolBar.getStyle () & SWT.RIGHT) != 0);
 	}
-	
+
 	/**
 	 * Listens to widgetSelected() events on SWT.DROP_DOWN type ToolItems
 	 * and opens/closes a menu when appropriate.
 	 */
 	class DropDownSelectionListener extends SelectionAdapter {
 		private Menu    menu = null;
-		
+
 		@Override
 		public void widgetSelected(SelectionEvent event) {
 			// Create the menu if it has not already been created
@@ -363,13 +363,13 @@
 					}
 				}
 			}
-			
+
 			/**
 			 * A selection event will be fired when a drop down tool
 			 * item is selected in the main area and in the drop
 			 * down arrow.  Examine the event detail to determine
 			 * where the widget was selected.
-			 */		
+			 */
 			if (event.detail == SWT.ARROW) {
 				/*
 				 * The drop down arrow was selected.
@@ -377,11 +377,11 @@
 				// Position the menu below and vertically aligned with the the drop down tool button.
 				final ToolItem toolItem = (ToolItem) event.widget;
 				final ToolBar  toolBar = toolItem.getParent();
-				
+
 				Point point = toolBar.toDisplay(new Point(event.x, event.y));
 				menu.setLocation(point.x, point.y);
 				menu.setVisible(true);
-			} 
+			}
 		}
 	}
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
index 7343feb..a836f27 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/FileViewer.java
@@ -69,23 +69,23 @@
 /**
  * File Viewer example
  */
-public class FileViewer { 
+public class FileViewer {
  	private static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_fileviewer");
 
 	private final static String DRIVE_A = "a:" + File.separator;
 	private final static String DRIVE_B = "b:" + File.separator;
 
-	/* UI elements */ 	
-	private Display display; 
+	/* UI elements */
+	private Display display;
 	private Shell shell;
 	private ToolBar toolBar;
 
 	private Label numObjectsLabel;
 	private Label diskSpaceLabel;
-	
+
 	private File currentDirectory = null;
 	private boolean initial = true;
-	
+
 	/* Drag and drop optimizations */
 	private boolean isDragging = false; // if this app is dragging
 	private boolean isDropping = false; // if this app is dropping
@@ -172,7 +172,7 @@
 	/**
 	 * Opens the main program.
 	 */
-	public Shell open(Display display) {		
+	public Shell open(Display display) {
 		// Create the window
 		this.display = display;
 		iconCache.initResources(display);
@@ -190,7 +190,7 @@
 		workerStop();
 		iconCache.freeResources();
 	}
-	
+
 	/**
 	 * Returns a string from the resource bundle.
 	 * We don't want to crash because of a missing String.
@@ -203,7 +203,7 @@
 			return key;
 		} catch (NullPointerException e) {
 			return "!" + key + "!";
-		}			
+		}
 	}
 
 	/**
@@ -223,11 +223,11 @@
 
 	/**
 	 * Construct the UI
-	 * 
+	 *
 	 * @param container the ShellContainer managing the Shell we are rendering inside
 	 */
 	private void createShellContents() {
-		shell.setText(getResourceString("Title", new Object[] { "" }));	
+		shell.setText(getResourceString("Title", new Object[] { "" }));
 		shell.setImage(iconCache.stockImages[iconCache.shellIcon]);
 		Menu bar = new Menu(shell, SWT.BAR);
 		shell.setMenuBar(bar);
@@ -259,16 +259,16 @@
 		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
 		gridData.widthHint = 185;
 		numObjectsLabel.setLayoutData(gridData);
-		
+
 		diskSpaceLabel = new Label(shell, SWT.BORDER);
 		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
 		gridData.horizontalSpan = 2;
 		diskSpaceLabel.setLayoutData(gridData);
 	}
-	
+
 	/**
 	 * Creates the File Menu.
-	 * 
+	 *
 	 * @param parent the parent menu
 	 */
 	private void createFileMenu(Menu parent) {
@@ -296,10 +296,10 @@
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the Help Menu.
-	 * 
+	 *
 	 * @param parent the parent menu
 	 */
 	private void createHelpMenu(Menu parent) {
@@ -309,7 +309,7 @@
 		header.setMenu(menu);
 
 		MenuItem item = new MenuItem(menu, SWT.PUSH);
-		item.setText(getResourceString("menu.Help.About.text"));		
+		item.setText(getResourceString("menu.Help.About.text"));
 		item.addSelectionListener(new SelectionAdapter () {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -324,7 +324,7 @@
 
 	/**
 	 * Creates the toolbar
-	 * 
+	 *
 	 * @param shell the shell on which to attach the toolbar
 	 * @param layoutData the layout data
 	 */
@@ -397,7 +397,7 @@
 
 	/**
 	 * Creates the combo box view.
-	 * 
+	 *
 	 * @param parent the parent control
 	 */
 	private void createComboView(Composite parent, Object layoutData) {
@@ -427,7 +427,7 @@
 
 	/**
 	 * Creates the file tree view.
-	 * 
+	 *
 	 * @param parent the parent control
 	 */
 	private void createTreeView(Composite parent) {
@@ -452,7 +452,7 @@
 				if (selection != null && selection.length != 0) {
 					TreeItem item = selection[0];
 					File file = (File) item.getData(TREEITEMDATA_FILE);
-				
+
 					notifySelectedDirectory(file);
 				}
 			}
@@ -487,7 +487,7 @@
 
 	/**
 	 * Creates the Drag & Drop DragSource for items being dragged from the tree.
-	 * 
+	 *
 	 * @return the DragSource for the tree
 	 */
 	private DragSource createTreeDragSource(final Tree tree){
@@ -517,7 +517,7 @@
 			public void dragSetData(DragSourceEvent event){
 				if (dndSelection == null || dndSelection.length == 0) return;
 				if (! FileTransfer.getInstance().isSupportedType(event.dataType)) return;
-				
+
 				sourceNames  = new String[dndSelection.length];
 				for (int i = 0; i < dndSelection.length; i++) {
 					File file = (File) dndSelection[i].getData(TREEITEMDATA_FILE);
@@ -531,7 +531,7 @@
 
 	/**
 	 * Creates the Drag & Drop DropTarget for items being dropped onto the tree.
-	 * 
+	 *
 	 * @return the DropTarget for the tree
 	 */
 	private DropTarget createTreeDropTarget(final Tree tree) {
@@ -559,7 +559,7 @@
 					dropTargetHandleDrop(event, targetFile);
 			}
 			private File getTargetFile(DropTargetEvent event) {
-				// Determine the target File for the drop 
+				// Determine the target File for the drop
 				TreeItem item = tree.getItem(tree.toControl(new Point(event.x, event.y)));
 				File targetFile = null;
 				if (item != null) {
@@ -569,12 +569,12 @@
 				return targetFile;
 			}
 		});
-		return dropTarget;	
+		return dropTarget;
 	}
 
 	/**
 	 * Handles expand events on a tree item.
-	 * 
+	 *
 	 * @param item the TreeItem to fill in
 	 */
 	private void treeExpandItem(TreeItem item) {
@@ -583,10 +583,10 @@
 		if (stub == null) treeRefreshItem(item, true);
 		shell.setCursor(iconCache.stockCursors[iconCache.cursorDefault]);
 	}
-	
+
 	/**
 	 * Traverse the entire tree and update only what has changed.
-	 * 
+	 *
 	 * @param roots the root directory listing
 	 */
 	private void treeRefresh(File[] masterFiles) {
@@ -626,18 +626,18 @@
 			TreeItem newItem = new TreeItem(tree, SWT.NONE);
 			treeInitVolume(newItem, masterFile);
 			new TreeItem(newItem, SWT.NONE); // placeholder child item to get "expand" button
-		}		
+		}
 	}
-	
+
 	/**
 	 * Traverse an item in the tree and update only what has changed.
-	 * 
+	 *
 	 * @param dirItem the tree item of the directory
 	 * @param forcePopulate true iff we should populate non-expanded items as well
 	 */
 	private void treeRefreshItem(TreeItem dirItem, boolean forcePopulate) {
 		final File dir = (File) dirItem.getData(TREEITEMDATA_FILE);
-		
+
 		if (! forcePopulate && ! dirItem.getExpanded()) {
 			// Refresh non-expanded item
 			if (dirItem.getData(TREEITEMDATA_STUB) != null) {
@@ -722,7 +722,7 @@
 
 	/**
 	 * Initializes a folder item.
-	 * 
+	 *
 	 * @param item the TreeItem to initialize
 	 * @param folder the File associated with this TreeItem
 	 */
@@ -736,7 +736,7 @@
 
 	/**
 	 * Initializes a volume item.
-	 * 
+	 *
 	 * @param item the TreeItem to initialize
 	 * @param volume the File associated with this TreeItem
 	 */
@@ -750,7 +750,7 @@
 
 	/**
 	 * Creates the file details table.
-	 * 
+	 *
 	 * @param parent the parent control
 	 */
 	private void createTableView(Composite parent) {
@@ -784,7 +784,7 @@
 			private File[] getSelectedFiles() {
 				final TableItem[] items = table.getSelection();
 				final File[] files = new File[items.length];
-				
+
 				for (int i = 0; i < items.length; ++i) {
 					files[i] = (File) items[i].getData(TABLEITEMDATA_FILE);
 				}
@@ -798,7 +798,7 @@
 
 	/**
 	 * Creates the Drag & Drop DragSource for items being dragged from the table.
-	 * 
+	 *
 	 * @return the DragSource for the table
 	 */
 	private DragSource createTableDragSource(final Table table) {
@@ -826,7 +826,7 @@
 			public void dragSetData(DragSourceEvent event){
 				if (dndSelection == null || dndSelection.length == 0) return;
 				if (! FileTransfer.getInstance().isSupportedType(event.dataType)) return;
-				
+
 				sourceNames  = new String[dndSelection.length];
 				for (int i = 0; i < dndSelection.length; i++) {
 					File file = (File) dndSelection[i].getData(TABLEITEMDATA_FILE);
@@ -840,7 +840,7 @@
 
 	/**
 	 * Creates the Drag & Drop DropTarget for items being dropped onto the table.
-	 * 
+	 *
 	 * @return the DropTarget for the table
 	 */
 	private DropTarget createTableDropTarget(final Table table){
@@ -868,7 +868,7 @@
 					dropTargetHandleDrop(event, targetFile);
 			}
 			private File getTargetFile(DropTargetEvent event) {
-				// Determine the target File for the drop 
+				// Determine the target File for the drop
 				TableItem item = table.getItem(table.toControl(new Point(event.x, event.y)));
 				File targetFile = null;
 				if (item == null) {
@@ -889,7 +889,7 @@
 
 	/**
 	 * Notifies the application components that a new current directory has been selected
-	 * 
+	 *
 	 * @param dir the directory that was selected, null is ignored
 	 */
 	void notifySelectedDirectory(File dir) {
@@ -897,7 +897,7 @@
 		if (currentDirectory != null && dir.equals(currentDirectory)) return;
 		currentDirectory = dir;
 		notifySelectedFiles(null);
-		
+
 		/* Shell:
 		 * Sets the title to indicate the selected directory
 		 */
@@ -913,7 +913,7 @@
 		 */
 		final File[] comboRoots = (File[]) combo.getData(COMBODATA_ROOTS);
 		int comboEntry = -1;
-		if (comboRoots != null) {		
+		if (comboRoots != null) {
 			for (int i = 0; i < comboRoots.length; ++i) {
 				if (dir.equals(comboRoots[i])) {
 					comboEntry = i;
@@ -960,10 +960,10 @@
 		}
 		tree.setSelection((lastItem != null) ? new TreeItem[] { lastItem } : new TreeItem[0]);
 	}
-	
+
 	/**
 	 * Notifies the application components that files have been selected
-	 * 
+	 *
 	 * @param files the files that were selected, null or empty array indicates no active selection
 	 */
 	void notifySelectedFiles(File[] files) {
@@ -994,7 +994,7 @@
 
 	/**
 	 * Notifies the application components that files must be refreshed
-	 * 
+	 *
 	 * @param files the files that need refreshing, empty array is a no-op, null refreshes all
 	 */
 	void notifyRefreshFiles(File[] files) {
@@ -1057,7 +1057,7 @@
 		if (files == null) {
 			boolean refreshCombo = false;
 			final File[] comboRoots = (File[]) combo.getData(COMBODATA_ROOTS);
-		
+
 			if ((comboRoots != null) && (comboRoots.length == roots.length)) {
 				for (int i = 0; i < roots.length; ++i) {
 					if (! roots[i].equals(comboRoots[i])) {
@@ -1081,7 +1081,7 @@
 		 * Refreshes information about any files in the list and their children.
 		 */
 		treeRefresh(roots);
-		
+
 		// Remind everyone where we are in the filesystem
 		final File dir = currentDirectory;
 		currentDirectory = null;
@@ -1092,7 +1092,7 @@
 
 	/**
 	 * Performs the default action on a set of files.
-	 * 
+	 *
 	 * @param files the array of files to process
 	 */
 	void doDefaultFileAction(File[] files) {
@@ -1104,7 +1104,7 @@
 			notifySelectedDirectory(file);
 		} else {
 			final String fileName = file.getAbsolutePath();
-			if (! Program.launch(fileName)) {	
+			if (! Program.launch(fileName)) {
 				MessageBox dialog = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
 				dialog.setMessage(getResourceString("error.FailedLaunch.message", new Object[] { fileName }));
 				dialog.setText(shell.getText ());
@@ -1121,7 +1121,7 @@
 		File parentDirectory = currentDirectory.getParentFile();
 		notifySelectedDirectory(parentDirectory);
 	}
-	 
+
 	/**
 	 * Performs a refresh
 	 */
@@ -1247,7 +1247,7 @@
 			sourceFiles = new File[sourceNames.length];
 			for (int i = 0; i < sourceNames.length; ++i)
 				sourceFiles[i] = new File(sourceNames[i]);
-		}	
+		}
 		if (progressDialog == null)
 			progressDialog = new ProgressDialog(shell, ProgressDialog.MOVE);
 		progressDialog.setTotalWorkUnits(sourceFiles.length);
@@ -1280,7 +1280,7 @@
 
 	/**
 	 * Gets filesystem root entries
-	 * 
+	 *
 	 * @return an array of Files corresponding to the root directories on the platform,
 	 *         may be empty but not null
 	 */
@@ -1322,7 +1322,7 @@
 
 	/**
 	 * Gets a directory listing
-	 * 
+	 *
 	 * @param file the directory to be listed
 	 * @return an array of files this directory contains, may be empty but not null
 	 */
@@ -1332,24 +1332,24 @@
 		sortFiles(list);
 		return list;
 	}
-	
+
 	/**
 	 * Copies a file or entire directory structure.
-	 * 
+	 *
 	 * @param oldFile the location of the old file or directory
 	 * @param newFile the location of the new file or directory
 	 * @return true iff the operation succeeds without errors
 	 */
 	boolean copyFileStructure(File oldFile, File newFile) {
 		if (oldFile == null || newFile == null) return false;
-		
+
 		// ensure that newFile is not a child of oldFile or a dupe
 		File searchFile = newFile;
 		do {
 			if (oldFile.equals(searchFile)) return false;
 			searchFile = searchFile.getParentFile();
 		} while (searchFile != null);
-		
+
 		if (oldFile.isDirectory()) {
 			/*
 			 * Copy a directory
@@ -1391,7 +1391,7 @@
 				try {
 					in = new FileReader(oldFile);
 					out = new FileWriter(newFile);
-			
+
 					int count;
 					while ((count = in.read()) != -1) out.write(count);
 				} catch (FileNotFoundException e) {
@@ -1413,12 +1413,12 @@
 
 	/**
 	 * Deletes a file or entire directory structure.
-	 * 
+	 *
 	 * @param oldFile the location of the old file or directory
 	 * @return true iff the operation succeeds without errors
 	 */
 	boolean deleteFileStructure(File oldFile) {
-		if (oldFile == null) return false;		
+		if (oldFile == null) return false;
 		if (oldFile.isDirectory()) {
 			/*
 			 * Delete a directory
@@ -1448,10 +1448,10 @@
 		}
 		return oldFile.delete();
 	}
-	
+
 	/**
 	 * Sorts files lexicographically by name.
-	 * 
+	 *
 	 * @param files the array of Files to be sorted
 	 */
 	static void sortFiles(File[] files) {
@@ -1464,8 +1464,8 @@
 			for (int i = end; i > start; --i) {
 				for (int j = end; j > start; --j)  {
 					if (compareFiles(files[j - 1], files[j]) > 0) {
-					    final File temp = files[j]; 
-					    files[j] = files[j-1]; 
+					    final File temp = files[j];
+					    files[j] = files[j-1];
 					    files[j-1] = temp;
 					}
 			    }
@@ -1497,7 +1497,7 @@
 		if (compare == 0) compare = a.getName().compareTo(b.getName());
 		return compare;
 	}
-	
+
 	/*
 	 * This worker updates the table with file information in the background.
 	 * <p>
@@ -1529,7 +1529,7 @@
 	/**
 	 * Notifies the worker that it should update itself with new data.
 	 * Cancels any previous operation and begins a new one.
-	 * 
+	 *
 	 * @param dir the new base directory for the table, null is ignored
 	 * @param force if true causes a refresh even if the data is the same
 	 */
@@ -1571,7 +1571,7 @@
 		// (see workerStop())
 		display.wake();
 	};
-	
+
 	/**
 	 * Updates the table's contents
 	 */
@@ -1585,13 +1585,13 @@
 			table.setData(TABLEDATA_DIR, workerStateDir);
 		});
 		dirList = getDirectoryList(workerStateDir);
-		
+
 		for (int i = 0; (! workerCancelled) && (i < dirList.length); i++) {
 			workerAddFileDetails(dirList[i]);
 		}
 
 	}
-		
+
 	/**
 	 * Adds a file's detail information to the directory list
 	 */
@@ -1601,7 +1601,7 @@
 		final String sizeString;
 		final String typeString;
 		final Image iconImage;
-		
+
 		if (file.isDirectory()) {
 			typeString = getResourceString("filetype.Folder");
 			sizeString = "";
@@ -1609,7 +1609,7 @@
 		} else {
 			sizeString = getResourceString("filesize.KB",
 				new Object[] { new Long((file.length() + 512) / 1024) });
-			
+
 			int dot = nameString.lastIndexOf('.');
 			if (dot != -1) {
 				String extension = nameString.substring(dot);
@@ -1637,7 +1637,7 @@
 			tableItem.setData(TABLEITEMDATA_FILE, file);
 		});
 	}
-	
+
 	/**
 	 * Instances of this class manage a progress dialog for file operations.
 	 */
@@ -1657,10 +1657,10 @@
 			"Delete",
 			"Move"
 		};
-	
+
 		/**
 		 * Creates a progress dialog but does not open it immediately.
-		 * 
+		 *
 		 * @param parent the parent Shell
 		 * @param style one of COPY, MOVE
 		 */
@@ -1675,21 +1675,21 @@
 					isCancelled = true;
 				}
 			});
-			
+
 			messageLabel = new Label(shell, SWT.HORIZONTAL);
 			messageLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 			messageLabel.setText(getResourceString("progressDialog." + operationKeyName[style] + ".description"));
-			
+
 			progressBar = new ProgressBar(shell, SWT.HORIZONTAL | SWT.WRAP);
 			progressBar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 			progressBar.setMinimum(0);
 			progressBar.setMaximum(0);
-			
+
 			detailLabel = new Label(shell, SWT.HORIZONTAL);
 			GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
 			gridData.widthHint = 400;
 			detailLabel.setLayoutData(gridData);
-			
+
 			cancelButton = new Button(shell, SWT.PUSH);
 			cancelButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL));
 			cancelButton.setText(getResourceString("progressDialog.cancelButton.text"));
@@ -1704,7 +1704,7 @@
 		/**
 		 * Sets the detail text to show the filename along with a string
 		 * representing the operation being performed on that file.
-		 * 
+		 *
 		 * @param file the file to be detailed
 		 * @param operation one of COPY, DELETE
 		 */
@@ -1714,7 +1714,7 @@
 		}
 		/**
 		 * Returns true if the Cancel button was been clicked.
-		 * 
+		 *
 		 * @return true if the Cancel button was clicked.
 		 */
 		public boolean isCancelled() {
@@ -1722,7 +1722,7 @@
 		}
 		/**
 		 * Sets the total number of work units to be performed.
-		 * 
+		 *
 		 * @param work the total number of work units
 		 */
 		public void setTotalWorkUnits(int work) {
@@ -1730,7 +1730,7 @@
 		}
 		/**
 		 * Adds to the total number of work units to be performed.
-		 * 
+		 *
 		 * @param work the number of work units to add
 		 */
 		public void addWorkUnits(int work) {
@@ -1738,7 +1738,7 @@
 		}
 		/**
 		 * Sets the progress of completion of the total work units.
-		 * 
+		 *
 		 * @param work the total number of work units completed
 		 */
 		public void setProgress(int work) {
@@ -1747,7 +1747,7 @@
 		}
 		/**
 		 * Adds to the progress of completion of the total work units.
-		 * 
+		 *
 		 * @param work the number of work units completed to add
 		 */
 		public void addProgress(int work) {
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
index 89aa194..4071c17 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/fileviewer/IconCache.java
@@ -63,7 +63,7 @@
 		"cmd_Search.gif"
 	};
 	public Image stockImages[];
-	
+
 	// Stock cursors
 	public final int
 		cursorDefault = 0,
@@ -71,18 +71,18 @@
 	public Cursor stockCursors[];
 	// Cached icons
 	private Map<Program, Image> iconCache; /* map Program to Image */
-	
+
 	public IconCache() {
 	}
 	/**
 	 * Loads the resources
-	 * 
+	 *
 	 * @param display the display
 	 */
 	public void initResources(Display display) {
 		if (stockImages == null) {
 			stockImages = new Image[stockImageLocations.length];
-				
+
 			for (int i = 0; i < stockImageLocations.length; ++i) {
 				Image image = createStockImage(display, stockImageLocations[i]);
 				if (image == null) {
@@ -92,7 +92,7 @@
 				}
 				stockImages[i] = image;
 			}
-		}	
+		}
 		if (stockCursors == null) {
 			stockCursors = new Cursor[] {
 				null,
@@ -121,7 +121,7 @@
 	}
 	/**
 	 * Creates a stock image
-	 * 
+	 *
 	 * @param display the display
 	 * @param path the relative path to the icon
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
index f63bfbb..9c16cd0 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AdvancedGraphics.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.swt.examples.graphics;
 
-/* 
+/*
  * Drawing with transformations, paths and alpha blending
  *
  * For a list of all SWT example snippets see
@@ -35,9 +35,9 @@
 import org.eclipse.swt.widgets.Shell;
 
 public class AdvancedGraphics {
-	
+
 	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("examples_graphics");
-	
+
 	static Image loadImage (Device device, Class<AdvancedGraphics> clazz, String string) {
 		InputStream stream = clazz.getResourceAsStream (string);
 		if (stream == null) return null;
@@ -72,7 +72,7 @@
 		final Image image = loadImage(display, AdvancedGraphics.class, "irmaos.jpg");
 		final Rectangle rect = image.getBounds();
 		shell.addListener(SWT.Paint, event -> {
-			GC gc = event.gc;				
+			GC gc = event.gc;
 			Transform tr = new Transform(display);
 			tr.translate(rect.width / 4, rect.height / 2);
 			tr.rotate(-30);
@@ -95,10 +95,10 @@
 		shell.addListener(SWT.Dispose, event -> {
 			if (image != null) image.dispose();
 			font.dispose();
-		});	
+		});
 		return shell;
 	}
-	
+
 	public static void main(String[] args) {
 		Display display = new Display();
 		Shell shell = new AdvancedGraphics().open(display);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
index 6466d40..e966875 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
@@ -23,7 +23,7 @@
 	 * Value used in setAlpha API call. Goes from 0 to 255 and then starts over.
 	 */
 	int alphaValue;
-	
+
 	/**
 	 * Value used in setAlpha API call. Goes from 0 to 255, then from 255 to 0
 	 * and then starts over.
@@ -32,7 +32,7 @@
 
 	boolean reachedMax = false;
 	int diameter;
-	
+
 	/** random numbers used for positioning "SWT" */
 	int randX, randY;
 	Image alphaImg1, alphaImg2;
@@ -40,7 +40,7 @@
 	public AlphaTab(GraphicsExample example) {
 		super(example);
 	}
-	
+
 	@Override
 	public String getCategory() {
 		return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
@@ -50,17 +50,17 @@
 	public String getText() {
 		return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
 	}
-	
+
 	@Override
 	public String getDescription() {
 		return GraphicsExample.getResourceString("AlphaDescription"); //$NON-NLS-1$
 	}
-	
+
 	@Override
 	public int getInitialAnimationTime() {
 		return 20;
 	}
-	
+
 	@Override
 	public void dispose() {
 		if (alphaImg1 != null) {
@@ -76,20 +76,20 @@
 	@Override
 	public void next(int width, int height) {
 		alphaValue = (alphaValue+5)%255;
-		
+
 		alphaValue2 = reachedMax ? alphaValue2 - 5 : alphaValue2 + 5;
-			
+
 		if (alphaValue2 == 255) {
 			reachedMax = true;
 		} else if (alphaValue2 == 0) {
 			reachedMax = false;
 		}
-		
+
 		diameter = (diameter + 10)%(width > height ? width : height);
 	}
 
-	/** 
-	 * Paint the receiver into the specified GC. 
+	/**
+	 * Paint the receiver into the specified GC.
 	 */
 	@Override
 	public void paint(GC gc, int width, int height) {
@@ -98,28 +98,28 @@
 
 		if (alphaImg1 == null) {
 			alphaImg1 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img1.png");
-			alphaImg2 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img2.png");	
+			alphaImg2 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img2.png");
 		}
 
 		Rectangle rect = alphaImg1.getBounds();
-		
+
 		gc.setAlpha(alphaValue);
-		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height, 
+		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height,
 				width/2, height/2, width/4, height/4);
-		
-		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height, 
+
+		gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height,
 				0, 0, width/4, height/4);
 
 		gc.setAlpha(255-alphaValue);
-		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height, 
+		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height,
 				width/2, 0, width/4, height/4);
-		
-		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height, 
+
+		gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height,
 				0, 3*height/4, width/4, height/4);
-		
+
 		// pentagon
 		gc.setBackground(device.getSystemColor(SWT.COLOR_DARK_MAGENTA));
-		gc.fillPolygon(new int [] {width/10, height/2, 3*width/10, height/2-width/6, 5*width/10, height/2, 
+		gc.fillPolygon(new int [] {width/10, height/2, 3*width/10, height/2-width/6, 5*width/10, height/2,
 				4*width/10, height/2+width/6, 2*width/10, height/2+width/6});
 
 		gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
@@ -127,45 +127,45 @@
 		// square
 		gc.setAlpha(alphaValue);
 		gc.fillRectangle(width/2, height-75, 75, 75);
-		
+
 		// triangle
 		gc.setAlpha(alphaValue + 15);
 		gc.fillPolygon(new int[]{width/2+75, height-(2*75), width/2+75, height-75, width/2+(2*75), height-75});
-		
+
 		// triangle
 		gc.setAlpha(alphaValue + 30);
 		gc.fillPolygon(new int[]{width/2+80, height-(2*75), width/2+(2*75), height-(2*75), width/2+(2*75), height-80});
-		
+
 		// triangle
 		gc.setAlpha(alphaValue + 45);
 		gc.fillPolygon(new int[]{width/2+(2*75), height-(2*75), width/2+(3*75), height-(2*75), width/2+(3*75), height-(3*75)});
-		
+
 		// triangle
 		gc.setAlpha(alphaValue + 60);
 		gc.fillPolygon(new int[]{width/2+(2*75), height-((2*75)+5), width/2+(2*75), height-(3*75), width/2+((3*75)-5), height-(3*75)});
-		
+
 		// square
 		gc.setAlpha(alphaValue + 75);
 		gc.fillRectangle(width/2+(3*75), height-(4*75), 75, 75);
-		
+
 		gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
-		
+
 		// circle in top right corner
 		gc.setAlpha(alphaValue2);
 		gc.fillOval(width-100, 0, 100, 100);
-		
+
 		// triangle
 		gc.setAlpha(alphaValue + 90);
 		gc.fillPolygon(new int[]{width-300, 10, width-100, 10, width-275, 50});
-	
+
 		// triangle
 		gc.setAlpha(alphaValue + 105);
 		gc.fillPolygon(new int[]{width-10, 100, width-10, 300, width-50, 275});
-		
+
 		// quadrilateral shape
 		gc.setAlpha(alphaValue + 120);
 		gc.fillPolygon(new int[]{width-100, 100, width-200, 150, width-200, 200, width-150, 200});
-		
+
 		// blue circles
 		gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
 		int size = 50;
@@ -179,27 +179,27 @@
 			}
 			alpha = alpha + 20;
 		}
-		
+
 		// SWT string appearing randomly
 		gc.setAlpha(alphaValue2);
 		String text = GraphicsExample.getResourceString("SWT");
 		Font font = createFont(device, 100, SWT.NONE);
 		gc.setFont(font);
-		
+
 		Point textSize = gc.stringExtent(text);
 		int textWidth = textSize.x;
 		int textHeight = textSize.y;
-		
+
 		if (alphaValue2 == 0){
 			randX = (int)(width*Math.random());
 			randY = (int)(height*Math.random());
 			randX = (randX > textWidth) ? randX - textWidth : randX;
 			randY = (randY > textHeight) ? randY - textHeight : randY;
 		}
-		
+
 		gc.drawString(text, randX, randY, true);
 		font.dispose();
-		
+
 		// gray donut
 		gc.setAlpha(100);
 		Path path = new Path(device);
@@ -212,11 +212,11 @@
 		gc.drawPath(path);
 		path.dispose();
 	}
-	
+
 	/**
 	 * Creates a font using the specified arguments and returns it.
 	 * This method takes into account the resident platform.
-	 * 
+	 *
 	 * @param face
 	 * 			The name of the font
 	 * @param points
@@ -224,12 +224,12 @@
 	 * @param style
 	 * 			The style to be applied to the font
 	 */
-	static Font createFont(Device device, int points, int style) {		
+	static Font createFont(Device device, int points, int style) {
 		if(SWT.getPlatform() == "win32") {
-			return new Font(device, "Verdana", points, style);	
+			return new Font(device, "Verdana", points, style);
 		} else if (SWT.getPlatform() == "gtk") {
-			return new Font(device, "Baekmuk Batang", points, style);		
-		} else { 
+			return new Font(device, "Baekmuk Batang", points, style);
+		} else {
 			return new Font(device, "Verdana", points, style);
 		}
 	}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
index 00b0469..deb4b30 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AnimatedGraphicsTab.java
@@ -29,7 +29,7 @@
 
 	ToolBar toolBar;
 	ToolItem playItem, pauseItem;
-	Spinner timerSpinner;		// to input the speed of the animation 
+	Spinner timerSpinner;		// to input the speed of the animation
 	private boolean animate;	// flag that indicates whether or not to animate the graphic
 
 	public AnimatedGraphicsTab(GraphicsExample example) {
@@ -39,29 +39,29 @@
 
 	/**
 	 * Sets the layout of the composite to RowLayout and creates the toolbar.
-	 * 
+	 *
 	 * @see org.eclipse.swt.examples.graphics.GraphicsTab#createControlPanel(org.eclipse.swt.widgets.Composite)
 	 */
 	@Override
 	public void createControlPanel(Composite parent) {
-		
+
 		// setup layout
 		RowLayout layout = new RowLayout();
 		layout.wrap = true;
 		layout.spacing = 8;
 		parent.setLayout(layout);
-		
+
 		createToolBar(parent);
 	}
-	
+
 	/**
 	 * Creates the toolbar controls: play, pause and animation timer.
-	 * 
+	 *
 	 * @param parent A composite
 	 */
 	void createToolBar(final Composite parent) {
 		final Display display = parent.getDisplay();
-				
+
 		toolBar = new ToolBar(parent, SWT.FLAT);
 		Listener toolBarListener = event -> {
 			switch (event.type) {
@@ -79,19 +79,19 @@
 				break;
 			}
 		};
-		
+
 		// play tool item
 		playItem = new ToolItem(toolBar, SWT.PUSH);
 		playItem.setText(GraphicsExample.getResourceString("Play")); //$NON-NLS-1$
 		playItem.setImage(example.loadImage(display, "play.gif")); //$NON-NLS-1$
 		playItem.addListener(SWT.Selection, toolBarListener);
-		
+
 		// pause tool item
 		pauseItem = new ToolItem(toolBar, SWT.PUSH);
 		pauseItem.setText(GraphicsExample.getResourceString("Pause")); //$NON-NLS-1$
 		pauseItem.setImage(example.loadImage(display, "pause.gif")); //$NON-NLS-1$
 		pauseItem.addListener(SWT.Selection, toolBarListener);
-		
+
 		// timer spinner
 		Composite comp = new Composite(parent, SWT.NONE);
 		GridLayout gridLayout = new GridLayout(2, false);
@@ -101,13 +101,13 @@
 		label.setText(GraphicsExample.getResourceString("Animation")); //$NON-NLS-1$
 		timerSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
 		timerSpinner.setMaximum(1000);
-		
+
 		playItem.setEnabled(false);
 		animate = true;
 
 		timerSpinner.setSelection(getInitialAnimationTime());
 	}
-	
+
 	/**
 	 *  Answer whether the receiver's drawing should be double bufferer.
 	 */
@@ -115,7 +115,7 @@
 	public boolean getDoubleBuffered() {
 		return true;
 	}
-	
+
 	/**
 	 * Gets the initial animation time to be used by the tab. Animation time:
 	 * number of milliseconds between the current drawing and the next (the time
@@ -125,7 +125,7 @@
 	public int getInitialAnimationTime() {
 		return 30;
 	}
-	
+
 	/**
 	 * Gets the animation time that is selected in the spinner. Animation time:
 	 * number of milliseconds between the current drawing and the next (the time
@@ -135,17 +135,17 @@
 	public int getAnimationTime() {
 		return timerSpinner.getSelection();
 	}
-	
+
 	/**
 	 * Returns the true if the tab is currently animated; false otherwise.
 	 */
 	public boolean getAnimation() {
 		return animate;
 	}
-	
+
 	/**
 	 * Causes the animation to stop or start.
-	 * 
+	 *
 	 * @param flag
 	 *            true starts the animation; false stops the animation.
 	 */
@@ -159,5 +159,5 @@
 	 * Advance the animation.
 	 */
 	public abstract void next(int width, int height);
-	
+
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
index 83f36df..383f012 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BallTab.java
@@ -78,7 +78,7 @@
 	public String getDescription() {
 		return GraphicsExample.getResourceString("BallDescription"); //$NON-NLS-1$
 	}
-	
+
 	@Override
 	public int getInitialAnimationTime() {
 		return 10;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java
index c9f2536..395b616 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/BlackHoleTab.java
@@ -14,9 +14,9 @@
 import org.eclipse.swt.graphics.*;
 
 public class BlackHoleTab extends AnimatedGraphicsTab {
-	
+
 	int size = 1;
-	
+
 public BlackHoleTab(GraphicsExample example) {
 	super(example);
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
index 5b37c66..1e4f3e6 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/CardsTab.java
@@ -22,7 +22,7 @@
  * translation.
  */
 public class CardsTab extends AnimatedGraphicsTab {
-	
+
 	float movClubX, movClubY, movDiamondX, movDiamondY, movHeart, movSpade;
 	float inc_club = 5.0f;
 	float inc_diamond = 5.0f;
@@ -33,8 +33,8 @@
 	float scaleArg = 0;
 	float heartScale = 0.5f;
 	float spadeScale = 0.333f;
-	int clubWidth, diamondWidth, heartWidth, spadeHeight; 
-	
+	int clubWidth, diamondWidth, heartWidth, spadeHeight;
+
 	Image ace_club, ace_spade, ace_diamond, ace_hearts;
 
 /**
@@ -80,16 +80,16 @@
 	// scaleVal goes from 0 to 1, then 1 to 0, then starts over
 	scaleArg = (float)((scaleArg == 1) ? scaleArg - 0.1 : scaleArg + 0.1);
 	scale = (float)Math.cos(scaleArg);
-	
+
 	movClubX += inc_club;
 	movDiamondX += inc_diamond;
 	movHeart += inc_hearts;
 	movSpade += inc_spade;
-	
+
 	scaleWidth = (float) ((movClubY/height)*0.35 + 0.15);
 	movClubY = 2*height/5 * (float)Math.sin(0.01*movClubX - 90) + 2*height/5;
     movDiamondY = 2*height/5 * (float)Math.cos(0.01*movDiamondX) + 2*height/5;
-    
+
     if (movClubX + clubWidth*scaleWidth > width) {
     	movClubX = width - clubWidth*scaleWidth;
         inc_club = -inc_club;
@@ -128,26 +128,26 @@
 public void paint(GC gc, int width, int height) {
 	if (!example.checkAdvancedGraphics()) return;
 	Device device = gc.getDevice();
-	
+
 	if (ace_club == null) {
 		ace_club = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_club.jpg");
 		ace_spade = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_spade.jpg");
 		ace_diamond = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_diamond.jpg");
 		ace_hearts = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_hearts.jpg");
 	}
-	
+
 	clubWidth = ace_club.getBounds().width;
 	diamondWidth = ace_diamond.getBounds().width;
 	heartWidth = ace_hearts.getBounds().width;
 	spadeHeight = ace_spade.getBounds().height;
 
 	Transform transform;
-	
-	// ace of clubs		
+
+	// ace of clubs
 	transform = new Transform(device);
-	transform.translate((int)movClubX, (int)movClubY);	
+	transform.translate((int)movClubX, (int)movClubY);
 	transform.scale(scaleWidth, scaleWidth);
-	
+
 	// rotate on center of image
 	Rectangle rect = ace_club.getBounds();
 	transform.translate(rect.width/2, rect.height/2);
@@ -157,7 +157,7 @@
 	gc.setTransform(transform);
 	transform.dispose();
 	gc.drawImage(ace_club, 0, 0);
-	
+
 	// ace of diamonds
 	transform = new Transform(device);
 	transform.translate((int)movDiamondX, (int)movDiamondY);
@@ -173,7 +173,7 @@
 	gc.setTransform(transform);
 	transform.dispose();
 	gc.drawImage(ace_hearts, 0, 0);
-	
+
 	// ace of spades
 	transform = new Transform(device);
 	transform.translate(movSpade, movSpade);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
index a72d806..5dfa79d 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorListener.java
@@ -13,7 +13,7 @@
 
 /**
  * Used to perform an action after an item in a Menu has been selected.
- * 
+ *
  * @see org.eclipse.swt.examples.graphics.ColorMenu.java
  * @see org.eclipse.swt.examples.graphics.GraphicsBackground.java
  */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
index a0c9ba4..4d04e4c 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ColorMenu.java
@@ -39,15 +39,15 @@
 public class ColorMenu {
 
 	boolean enableColorItems, enablePatternItems, enableGradientItems;
-	
+
 	public ColorMenu() {
 		enableColorItems = true;
 	}
-	
+
 	/**
 	 * Method used to specify whether or not the color menu items will appear in
 	 * the menu.
-	 * 
+	 *
 	 * @param enable
 	 *            A boolean flag - true to make the color menu items visible in
 	 *            the menu; false otherwise.
@@ -55,18 +55,18 @@
 	public void setColorItems(boolean enable) {
 		enableColorItems = enable;
 	}
-	
+
 	/**
 	 * @return true if color menu items are contained in the menu; false otherwise.
 	 * */
 	public boolean getColorItems() {
 		return enableColorItems;
 	}
-	
+
 	/**
 	 * Method used to specify whether or not the pattern menu items will appear
 	 * in the menu.
-	 * 
+	 *
 	 * @param enable
 	 *            A boolean flag - true to make the pattern menu items visible
 	 *            in the menu; false otherwise.
@@ -74,18 +74,18 @@
 	public void setPatternItems(boolean enable) {
 		enablePatternItems = enable;
 	}
-	
+
 	/**
 	 * @return true if pattern menu items are contained in the menu; false otherwise.
 	 * */
 	public boolean getPatternItems() {
 		return enablePatternItems;
 	}
-	
+
 	/**
 	 * Method used to specify whether or not the gradient menu items will appear
 	 * in the menu.
-	 * 
+	 *
 	 * @param enable
 	 *            A boolean flag - true to make the gradient menu items visible
 	 *            in the menu; false otherwise.
@@ -93,23 +93,23 @@
 	public void setGradientItems(boolean enable) {
 		enableGradientItems = enable;
 	}
-	
+
 	/**
 	 * @return true if gradient menu items are contained in the menu; false otherwise.
 	 */
 	public boolean getGradientItems() {
 		return enableGradientItems;
 	}
-	
+
 	/**
 	 * Creates and returns the menu based on the settings provided via
 	 * setColorItems(), setPatternItems() and setGradientItems()
-	 * 
+	 *
 	 * @return A menu based on the settings
 	 */
 	public Menu createMenu(Control parent, ColorListener cl) {
 		Menu menu = new Menu(parent);
-	
+
 		MenuItemListener menuItemListener = createMenuItemListener(parent);
 		menu.addListener(SWT.Selection, menuItemListener);
 		menu.addListener(SWT.Dispose, menuItemListener);
@@ -126,16 +126,16 @@
 		}
 		return menu;
 	}
-	
+
 	/** Adds the colors items to the menu. */
 	private void addColorItems(Menu menu, MenuItemListener menuListener,
 			List<Resource> menuResources) {
 		Display display = menu.getDisplay();
-		
+
 		if (menu.getItemCount() != 0) {
 			new MenuItem(menu, SWT.SEPARATOR);
 		}
-		
+
 		// color names
 		String[] names = new String[]{
 			GraphicsExample.getResourceString("White"), //$NON-NLS-1$
@@ -146,7 +146,7 @@
 			GraphicsExample.getResourceString("Yellow"), //$NON-NLS-1$
 			GraphicsExample.getResourceString("Cyan"), //$NON-NLS-1$
 		};
-		
+
 		// colors needed for the background menu
 		Color[] colors = new Color[]{
 			display.getSystemColor(SWT.COLOR_WHITE),
@@ -157,7 +157,7 @@
 			display.getSystemColor(SWT.COLOR_YELLOW),
 			display.getSystemColor(SWT.COLOR_CYAN),
 		};
-	
+
 		// add standard color items to menu
 		for (int i = 0; i < names.length; i++) {
 			MenuItem item = new MenuItem(menu, SWT.NONE);
@@ -173,59 +173,59 @@
 			item.setImage(image);
 			item.setData(gb);
 		}
-		
+
 		// add custom color item to menu
 		menuListener.customColorMI = new MenuItem(menu, SWT.NONE);
 		menuListener.customColorMI.setText(GraphicsExample.getResourceString("CustomColor")); //$NON-NLS-1$
 		menuListener.customColorMI.addListener(SWT.Selection, menuListener);
 		GraphicsBackground gb = new GraphicsBackground();
-		menuListener.customColorMI.setData(gb);		
+		menuListener.customColorMI.setData(gb);
 	}
-	
+
 	/** Adds the pattern items to the menu. */
 	private void addPatternItems(Menu menu, MenuItemListener menuListener,
 			List<Resource> menuResources) {
 		Display display = menu.getDisplay();
-		
+
 		if (menu.getItemCount() != 0) {
 			new MenuItem(menu, SWT.SEPARATOR);
 		}
-		
+
 		// pattern names
 		String[] names = new String[]{
 			GraphicsExample.getResourceString("Pattern1"), //$NON-NLS-1$
 			GraphicsExample.getResourceString("Pattern2"), //$NON-NLS-1$
 			GraphicsExample.getResourceString("Pattern3"), //$NON-NLS-1$
 		};
-		
+
 		// pattern images
 		Image[] images = new Image[]{
-			loadImage(display, "pattern1.jpg", menuResources),	
+			loadImage(display, "pattern1.jpg", menuResources),
 			loadImage(display, "pattern2.jpg", menuResources),
 			loadImage(display, "pattern3.jpg", menuResources),
 		};
-		
+
 		// add the pre-defined patterns to the menu
 		for (int i = 0; i < names.length; i++) {
 			MenuItem item = new MenuItem(menu, SWT.NONE);
 			item.setText(names[i]);
 			item.addListener(SWT.Selection, menuListener);
 			Image image = images[i];
-			GraphicsBackground gb = new GraphicsBackground();			
+			GraphicsBackground gb = new GraphicsBackground();
 			gb.setBgImage(image);
 			gb.setThumbNail(image);
 			item.setImage(image);
 			item.setData(gb);
 		}
-		
-		// add the custom pattern item	
+
+		// add the custom pattern item
 		menuListener.customPatternMI = new MenuItem(menu, SWT.NONE);
 		menuListener.customPatternMI.setText(GraphicsExample.getResourceString("CustomPattern")); //$NON-NLS-1$
 		menuListener.customPatternMI.addListener(SWT.Selection, menuListener);
 		GraphicsBackground gb = new GraphicsBackground();
-		menuListener.customPatternMI.setData(gb);			
+		menuListener.customPatternMI.setData(gb);
 	}
-	
+
 	/** Adds the gradient menu item. */
 	private void addGradientItems(Menu menu, MenuItemListener menuListener) {
 		if (menu.getItemCount() != 0) {
@@ -237,15 +237,15 @@
 		GraphicsBackground gb = new GraphicsBackground();
 		menuListener.customGradientMI.setData(gb);
 	}
-	
+
 	/** Creates and returns the listener for menu items. */
 	private MenuItemListener createMenuItemListener(final Control parent) {
 		return new MenuItemListener(parent);
 	}
-	
+
 	/**
 	 * Creates and returns an instance of Image using on the path of an image.
-	 * 
+	 *
 	 * @param display
 	 *            A Display
 	 * @param name
@@ -270,14 +270,14 @@
 		GraphicsBackground background;	// used to store information about the background
 		ColorListener colorListener;
 		List<Resource> resources;
-		
+
 		public MenuItemListener(Control parent){
-			this.parent = parent; 
+			this.parent = parent;
 			resources = new ArrayList<>();
 		}
 		/**
 		 * Method used to set the ColorListener
-		 * 
+		 *
 		 * @param cl
 		 *            A ColorListener
 		 * @see org.eclipse.swt.examples.graphics.ColorListener.java
@@ -285,7 +285,7 @@
 		public void setColorListener(ColorListener cl) {
 			this.colorListener = cl;
 		}
-		
+
 		public List<Resource> getMenuResources() {
 			return resources;
 		}
@@ -348,8 +348,8 @@
 						if (background.getBgColor1() != null)
 							dialog.setFirstRGB(background.getBgColor1().getRGB());
 						if (background.getBgColor2() != null)
-							dialog.setSecondRGB(background.getBgColor2().getRGB());						
-					}					
+							dialog.setSecondRGB(background.getBgColor2().getRGB());
+					}
 					if (dialog.open() != SWT.OK) return;
 					Color colorA = new Color(display, dialog.getFirstRGB());
 					Color colorB = new Color(display, dialog.getSecondRGB());
@@ -358,7 +358,7 @@
 					if (customPatternMI != null) customPatternMI.setImage(null);
 					if (customColor != null) customColor.dispose();
 					if (customImage != null) customImage.dispose();
-					customImage = GraphicsExample.createImage(display, colorA, 
+					customImage = GraphicsExample.createImage(display, colorA,
 							colorB, 16, 16);
 					GraphicsBackground gb = new GraphicsBackground();
 					gb.setBgImage(customImage);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
index e5c3f6d..c9c48ec 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/FontBounceTab.java
@@ -23,17 +23,17 @@
  * as it bounces around the screen.
  */
 public class FontBounceTab extends AnimatedGraphicsTab {
-	
+
 	float x, y;
 	float incX = 10.0f;				// units by which to move the word along X axis
-	float incY = 5.0f;				// units by which to move the word along Y axis 
+	float incY = 5.0f;				// units by which to move the word along Y axis
 	int textWidth, textHeight;		// width and height of the word SWT
 	String text = GraphicsExample.getResourceString("SWT");
 	int fontSize = 100;
-	int fontFace = 0; 
+	int fontFace = 0;
 	int foreGrdColor, fillColor;	// font colors
 	int fontStyle;				// represents various style attributes applicable to a Font
-	
+
 public FontBounceTab(GraphicsExample example) {
 	super(example);
 }
@@ -58,14 +58,14 @@
 	x += incX;
     y += incY;
 	float random = (float)Math.random();
-	
-	// collision with right side of screen 
+
+	// collision with right side of screen
     if (x + textWidth > width) {
         x = width - textWidth;
         incX = random * -width / 16 - 1;
         fontFace = 0;
         fontSize = 125;
-        fillColor = SWT.COLOR_DARK_BLUE;  
+        fillColor = SWT.COLOR_DARK_BLUE;
         foreGrdColor = SWT.COLOR_YELLOW;
         fontStyle = SWT.ITALIC;
     }
@@ -106,14 +106,14 @@
 public void paint(GC gc, int width, int height) {
 	if (!example.checkAdvancedGraphics()) return;
 	Device device = gc.getDevice();
-	
+
 	Font font = new Font(device, getPlatformFontFace(fontFace), fontSize, fontStyle);
 	gc.setFont(font);
-	
+
 	Point size = gc.stringExtent(text);
 	textWidth = size.x;
 	textHeight = size.y;
-	
+
 	Path path = new Path(device);
 	path.addString(text, x, y, font);
 
@@ -129,16 +129,16 @@
 /**
  * Returns the name of the font using the specified index.
  * This method takes into account the resident platform.
- * 
+ *
  * @param index
  * 			The index of the font to be used
  */
-static String getPlatformFontFace(int index) {	
+static String getPlatformFontFace(int index) {
 	if(SWT.getPlatform() == "win32") {
-		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];	
+		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];
 	} else if (SWT.getPlatform() == "gtk") {
 		return new String [] {"URW Chancery L", "Baekmuk Batang", "Baekmuk Headline", "KacsTitleL"} [index];
-	} else { 
+	} else {
 		return new String [] {"Arial", "Impact", "Times", "Verdana"} [index];
 	}
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
index f699fec..70e541d 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsBackground.java
@@ -18,12 +18,12 @@
  * This class is used for storing data relevant to a background.
  */
 public class GraphicsBackground {
-	
+
 	private Image bgImage;
 	private Image thumbNail;
 	private Color bgColor1;
 	private Color bgColor2;
-	
+
 	public GraphicsBackground() {
 		bgImage = null;
 		thumbNail = null;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java
index 422dadf..f1e0f0d 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GraphicsTab.java
@@ -19,31 +19,31 @@
  * AnimatedGraphicsTab class.
  */
 public abstract class GraphicsTab {
-	
+
 GraphicsExample example;
 
 public GraphicsTab(GraphicsExample example) {
 	this.example = example;
 }
 
-/** 
+/**
  * Creates the widgets used to control the drawing.
  */
 public void createControlPanel(Composite parent) {
 }
 
-/** 
+/**
  * Disposes resources created by the receiver.
  */
 public void dispose() {
 }
 
-/** 
+/**
  * Answer the receiver's name.
  */
 public abstract String getText();
 
-/** 
+/**
  * Answer the receiver's category.
  */
 public String getCategory() {
@@ -64,8 +64,8 @@
 	return false;
 }
 
-/** 
- * Paint the receiver into the specified GC. 
+/**
+ * Paint the receiver into the specified GC.
  */
 public void paint(GC gc, int width, int height) {
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
index 57eae8d..e817a5f 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageFlipTab.java
@@ -15,7 +15,7 @@
 import org.eclipse.swt.graphics.*;
 
 /**
- * This tab demonstrates how an image can be flipped in various fashions. 
+ * This tab demonstrates how an image can be flipped in various fashions.
  */
 public class ImageFlipTab extends GraphicsTab {
 
@@ -42,54 +42,54 @@
 public void paint(GC gc, int width, int height) {
 	if (!example.checkAdvancedGraphics()) return;
 	Device device = gc.getDevice();
-	
+
 	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "houses.png");
 	Rectangle bounds = image.getBounds();
-	
+
 	// top
 	Transform transform = new Transform(device);
 	transform.translate((width-bounds.width)/2, (height-bounds.height)/2);
 	transform.scale(1, -1);
 	gc.setTransform(transform);
-		
+
 	// draw the original image
 	gc.drawImage(image, 0, 0);
-	
+
 	transform.dispose();
-	
+
 	// bottom
 	transform = new Transform(device);
 	transform.translate((width-bounds.width)/2, 2*bounds.height + (height-bounds.height)/2);
 	transform.scale(1, -1);
 	gc.setTransform(transform);
-	
+
 	// draw the original image
 	gc.drawImage(image, 0, 0);
-	
+
 	transform.dispose();
-	
+
 	// left
 	transform = new Transform(device);
 	transform.translate((width-bounds.width)/2, (height-bounds.height)/2);
 	transform.scale(-1, 1);
 	gc.setTransform(transform);
-	
+
 	// draw the original image
 	gc.drawImage(image, 0, 0);
-	
+
 	transform.dispose();
-	
+
 	// right
 	transform = new Transform(device);
 	transform.translate(2*bounds.width + (width-bounds.width)/2, (height-bounds.height)/2);
 	transform.scale(-1, 1);
 	gc.setTransform(transform);
-	
+
 	// draw the original image
 	gc.drawImage(image, 0, 0);
-	
+
 	transform.dispose();
-	
+
 	gc.setTransform(null);
 	gc.drawImage(image, (width-bounds.width)/2, (height-bounds.height)/2);
 	image.dispose();
@@ -100,9 +100,9 @@
  */
 static String getPlatformFont() {
 	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
+		return "Arial";
 	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
+		return "Baekmuk Batang";
 	} else {
 		return "Verdana";
 	}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java
index b37dcab..8c3feb5 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageScaleTab.java
@@ -14,7 +14,7 @@
 import org.eclipse.swt.graphics.*;
 
 /**
- * This tab demonstrates how an image can be scaled. 
+ * This tab demonstrates how an image can be scaled.
  */
 public class ImageScaleTab extends GraphicsTab {
 
@@ -41,11 +41,11 @@
 public void paint(GC gc, int width, int height) {
 	Device device = gc.getDevice();
 	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "houses.png");
-	
+
 	Rectangle bounds = image.getBounds();
 	Rectangle canvasBounds = example.canvas.getBounds();
 	gc.drawImage(image, 0, 0, bounds.width, bounds.height, 0, 0, canvasBounds.width, canvasBounds.height);
-	
+
 	image.dispose();
 }
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
index 6f5b92a..198c475 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ImageTransformTab.java
@@ -60,19 +60,19 @@
  * This method creates the controls specific to the tab. The call to the
  * createControlPanel method in the super class create the controls that are
  * defined in the super class.
- * 
- * @param parent The parent composite 
+ *
+ * @param parent The parent composite
  */
 @Override
 public void createControlPanel(Composite parent) {
-	
+
 	Composite comp;
 	GridLayout gridLayout = new GridLayout(2, false);
-	
+
 	// create spinner for the rotation angle
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
- 
+
 	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("Rotate")); //$NON-NLS-1$
 	rotateSpinner = new Spinner(comp, SWT.BORDER | SWT.WRAP);
 	GC gc = new GC(rotateSpinner);
@@ -84,11 +84,11 @@
 	rotateSpinner.setMaximum(720);
 	rotateSpinner.setIncrement(30);
 	rotateSpinner.addListener(SWT.Selection, event -> example.redraw());
-	
+
 	// create a spinner for translating along the x axis
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
-	
+
 	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("xtranslate")); //$NON-NLS-1$
 	translateSpinnerX = new Spinner(comp, SWT.BORDER | SWT.WRAP);
 	translateSpinnerX.setLayoutData(new GridData(width, SWT.DEFAULT));
@@ -97,7 +97,7 @@
 	translateSpinnerX.setSelection(0);
 	translateSpinnerX.setIncrement(10);
 	translateSpinnerX.addListener(SWT.Selection, event -> example.redraw());
-	
+
 	// create a spinner for translating along the y axis
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
@@ -110,11 +110,11 @@
 	translateSpinnerY.setSelection(0);
 	translateSpinnerY.setIncrement(10);
 	translateSpinnerY.addListener(SWT.Selection, event -> example.redraw());
-	
+
 	// create a spinner for scaling along the x axis
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
-	
+
 	new Label(comp, SWT.CENTER).setText(GraphicsExample.getResourceString("xscale")); //$NON-NLS-1$
 	scaleSpinnerX = new Spinner(comp, SWT.BORDER | SWT.WRAP);
 	scaleSpinnerX.setLayoutData(new GridData(width, SWT.DEFAULT));
@@ -124,7 +124,7 @@
 	scaleSpinnerX.setSelection(100);
 	scaleSpinnerX.setIncrement(10);
 	scaleSpinnerX.addListener(SWT.Selection, event -> example.redraw());
-	
+
 	// create a spinner for scaling along the y axis
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
@@ -138,7 +138,7 @@
 	scaleSpinnerY.setSelection(100);
 	scaleSpinnerY.setIncrement(10);
 	scaleSpinnerY.addListener(SWT.Selection, event -> example.redraw());
-	
+
 	// create a button for inverting the transform matrix
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(new GridLayout());
@@ -152,26 +152,26 @@
 	if (!example.checkAdvancedGraphics()) return;
 	Device device = gc.getDevice();
 
-	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_club.jpg"); 
+	Image image = GraphicsExample.loadImage(device, GraphicsExample.class, "ace_club.jpg");
 
 	Transform transform = new Transform(device);
-	
+
 	// scale image
 	transform.scale(scaleSpinnerX.getSelection()/100f, scaleSpinnerY.getSelection()/100f);
-	
+
 	// translate image
 	transform.translate(translateSpinnerX.getSelection(), translateSpinnerY.getSelection());
-	
+
 	// rotate on center of image
 	Rectangle rect = image.getBounds();
 	transform.translate(rect.width/2, rect.height/2);
 	transform.rotate(rotateSpinner.getSelection());
 	transform.translate(-rect.width/2, -rect.height/2);
-	
+
 	if(invertButton.getSelection()){
 		transform.invert();
 	}
-	
+
 	gc.setTransform(transform);
 	gc.drawImage(image, 0, 0);
 
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
index 805b9a3..c645dd4 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/InterpolationTab.java
@@ -29,7 +29,7 @@
  * images that have been stretched or shrunk.
  */
 public class InterpolationTab extends GraphicsTab {
-	
+
 	Combo imageCb;	// combo for selecting images
 
 public InterpolationTab(GraphicsExample example) {
@@ -53,11 +53,11 @@
 
 @Override
 public void createControlPanel(Composite parent) {
-	
+
 	Composite comp;
 	GridLayout gridLayout = new GridLayout(2, false);
-	
-	// create drop down combo 
+
+	// create drop down combo
 	comp = new Composite(parent, SWT.NONE);
 	comp.setLayout(gridLayout);
 	new Label(comp, SWT.CENTER).setText(GraphicsExample
@@ -83,7 +83,7 @@
 	float scaleY = 10f;
 	Image image = null;
 	switch (imageCb.getSelectionIndex()) {
-	
+
 	case 0:
 		image = GraphicsExample.loadImage(device, GraphicsExample.class, "home_nav.gif");
 		break;
@@ -112,20 +112,20 @@
 		scaleY = 0.5f;
 		break;
 	}
-	
+
 	Rectangle bounds = image.getBounds();
-	
+
 	// draw the original image
-	gc.drawImage(image, (width-bounds.width)/2, 20);	
-	
+	gc.drawImage(image, (width-bounds.width)/2, 20);
+
 	Font font = new Font(device, getPlatformFont(), 20, SWT.NORMAL);
 	gc.setFont(font);
-	
+
 	// write some text below the original image
 	String text = GraphicsExample.getResourceString("OriginalImg"); //$NON-NLS-1$
-	Point size = gc.stringExtent(text);	
+	Point size = gc.stringExtent(text);
 	gc.drawString(text, (width-size.x)/2, 25 + bounds.height, true);
-	
+
 	Transform transform = new Transform(device);
 	transform.translate((width - (bounds.width * scaleX + 10) * 4) / 2, 25 + bounds.height + size.y +
 				(height - (25 + bounds.height + size.y + bounds.height*scaleY)) / 2);
@@ -134,26 +134,26 @@
 	// --- draw strings ---
 	float[] point = new float[2];
 	text = GraphicsExample.getResourceString("None"); //$NON-NLS-1$
-	size = gc.stringExtent(text);	
+	size = gc.stringExtent(text);
 	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX);
 	point[1] = bounds.height;
 	transform.transform(point);
 	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
+
 	text = GraphicsExample.getResourceString("Low"); //$NON-NLS-1$
 	size = gc.stringExtent(text);
 	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + bounds.width;
 	point[1] = bounds.height;
 	transform.transform(point);
 	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
+
 	text = GraphicsExample.getResourceString("Default"); //$NON-NLS-1$
 	size = gc.stringExtent(text);
 	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + 2*bounds.width;
 	point[1] = bounds.height;
 	transform.transform(point);
 	gc.drawString(text, (int)point[0], (int)point[1], true);
-	
+
 	text = GraphicsExample.getResourceString("High"); //$NON-NLS-1$
 	size = gc.stringExtent(text);
 	point[0] = (scaleX*bounds.width + 5 - size.x)/(2*scaleX) + 3*bounds.width;
@@ -165,11 +165,11 @@
 	transform.dispose();
 
 	// --- draw images ---
-	
+
 	// no interpolation
 	gc.setInterpolation(SWT.NONE);
 	gc.drawImage(image, 0, 0);
-	
+
 	// low interpolation
 	gc.setInterpolation(SWT.LOW);
 	gc.drawImage(image, bounds.width, 0);
@@ -177,7 +177,7 @@
 	// default interpolation
 	gc.setInterpolation(SWT.DEFAULT);
 	gc.drawImage(image, 2*bounds.width, 0);
-	
+
 	// high interpolation
 	gc.setInterpolation(SWT.HIGH);
 	gc.drawImage(image, 3*bounds.width, 0);
@@ -191,9 +191,9 @@
  */
 static String getPlatformFont() {
 	if(SWT.getPlatform() == "win32") {
-		return "Arial";	
+		return "Arial";
 	} else if (SWT.getPlatform() == "gtk") {
-		return "Baekmuk Batang";		
+		return "Baekmuk Batang";
 	} else {
 		return "Verdana";
 	}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java
index aa26b42..ca66f99 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/IntroTab.java
@@ -16,7 +16,7 @@
 import org.eclipse.swt.graphics.*;
 
 public class IntroTab extends AnimatedGraphicsTab {
-	
+
 	Font font;
 	Image image;
 	Random random = new Random();
@@ -25,7 +25,7 @@
 	float incY = 5.0f;
 	int textWidth, textHeight;
 	String text = GraphicsExample.getResourceString("SWT");
-	
+
 public IntroTab(GraphicsExample example) {
 	super(example);
 }
@@ -57,7 +57,7 @@
 public void next(int width, int height) {
     x += incX;
     y += incY;
-	float random = (float)Math.random(); 
+	float random = (float)Math.random();
     if (x + textWidth > width) {
         x = width - textWidth;
         incX = random * -width / 16 - 1;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
index 5126646..74766db 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
@@ -59,11 +59,11 @@
 	nextCoord.addAll(moveDown(475, 330, 475, 435, 10));
 	nextCoord.addAll(moveLeft(465, 435, 20, 435, 10));
 	nextCoord.addAll(moveDown(20, 445, 20, 495, 10));
-	
+
 	nextIndex = 0;
 	xcoord = nextCoord.get(nextIndex).intValue();
 	ycoord = nextCoord.get(nextIndex+1).intValue();
-	
+
 	// wrong path 1
 	nextCoord2 = new ArrayList<>();
 	nextCoord2.addAll(moveDown(20, -25, 20, 110, 10));
@@ -72,11 +72,11 @@
 	nextCoord2.addAll(moveRight(140, 15, 520, 15, 10));
 	nextCoord2.addAll(moveDown(525, 15, 525, 480, 10));
 	nextCoord2.addAll(moveLeft(515, 480, 70, 480, 10));
-	
+
 	nextIndex2 = 0;
 	xcoord2 = nextCoord2.get(nextIndex2).intValue();
 	ycoord2 = nextCoord2.get(nextIndex2+1).intValue();
-	
+
 	// wrong path 2
 	nextCoord3 = new ArrayList<>();
 	nextCoord3.addAll(moveDown(20, 0, 20, 110, 10));
@@ -92,11 +92,11 @@
 	nextCoord3.addAll(moveUp(420, 225, 420, 150, 10));
 	nextCoord3.addAll(moveLeft(420, 145, 70, 145, 10));
 	nextCoord3.addAll(moveDown(70, 150, 70, 320, 10));
-	
+
 	nextIndex3 = 0;
 	xcoord3 = nextCoord3.get(nextIndex3).intValue();
 	ycoord3 = nextCoord3.get(nextIndex3+1).intValue();
-	
+
 	isDone = isDone2 = isDone3 = false;
 }
 
@@ -131,13 +131,13 @@
 @Override
 public void createControlPanel(Composite parent) {
 	super.createControlPanel(parent);
-	
-	// add selection listener to reset nextNumber after 
+
+	// add selection listener to reset nextNumber after
 	// the sequence has completed
 	playItem.addListener(SWT.Selection, event -> {
 		if (isDone){
 			nextIndex = nextIndex2 = nextIndex3 = 0;
-			isDone = isDone2 = isDone3 = false; 
+			isDone = isDone2 = isDone3 = false;
 		}
 	});
 }
@@ -154,7 +154,7 @@
 		setAnimation(false);
 		isDone = true;
 	}
-	
+
 	if (nextIndex2+2 < nextCoord2.size()) {
 		nextIndex2 = (nextIndex2+2)%nextCoord2.size();
 		xcoord2 = nextCoord2.get(nextIndex2).intValue();
@@ -162,7 +162,7 @@
 	} else {
 		isDone2 = true;
 	}
-	
+
 	if (nextIndex3+2 < nextCoord3.size()) {
 		nextIndex3 = (nextIndex3+2)%nextCoord3.size();
 		xcoord3 = nextCoord3.get(nextIndex3).intValue();
@@ -175,7 +175,7 @@
 @Override
 public void paint(GC gc, int width, int height) {
 	Device device = gc.getDevice();
-	
+
 	if (image == null) {
 		image = example.loadImage(device, "maze.bmp");
 	}
@@ -184,17 +184,17 @@
 	int x = (width - bounds.width) / 2;
 	int y = (height - bounds.height) / 2;
 	gc.drawImage(image, x, y);
-	
+
 	// draw correct oval
 	gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
 	gc.fillOval(x + xcoord, y + ycoord, 16, 16);
 	gc.drawOval(x + xcoord, y + ycoord, 15, 15);
-	
+
 	// draw wrong oval 1
 	gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
 	gc.fillOval(x + xcoord2, y + ycoord2, 16, 16);
 	gc.drawOval(x + xcoord2, y + ycoord2, 15, 15);
-	
+
 	// draw wrong oval 2
 	gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
 	gc.fillOval(x + xcoord3, y + ycoord3, 16, 16);
@@ -216,7 +216,7 @@
 /**
  * Returns a list of coordinates moving in a "left-moving" fashion from the start
  * point to the end point inclusively.
- * 
+ *
  * @param x1
  *            X component of the start point
  * @param y1
@@ -245,7 +245,7 @@
 /**
  * Returns a list of coordinates moving in a "right-moving" fashion from the start
  * point to the end point inclusively.
- * 
+ *
  * @param x1
  *            X component of the start point
  * @param y1
@@ -274,7 +274,7 @@
 /**
  * Returns a list of coordinates moving in an upward fashion from the start
  * point to the end point inclusively.
- * 
+ *
  * @param x1
  *            X component of the start point
  * @param y1
@@ -303,7 +303,7 @@
 /**
  * Returns a list of coordinates moving in a downward fashion from the start
  * point to the end point inclusively.
- * 
+ *
  * @param x1
  *            X component of the start point
  * @param y1
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
index ef6375a..4db43e9 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/RGBTab.java
@@ -24,7 +24,7 @@
  * colors.
  */
 public class RGBTab extends AnimatedGraphicsTab {
-	
+
 	int translateX, translateY;
 	float diagTranslateX1, diagTranslateX2, diagTranslateY1, diagTranslateY2;
 
@@ -55,16 +55,16 @@
 
 @Override
 public void next(int width, int height) {
-	
+
 	float h = height;
 	float w = width;
-	
+
 	translateX = (translateX+3)%width;
 	translateY = (translateY+5)%height;
 
 	diagTranslateX1 = (diagTranslateX1+6)%width;
 	diagTranslateY1 = diagTranslateX1*(h/w);
-	
+
 	diagTranslateX2 = (diagTranslateX2+8)%width;
 	diagTranslateY2 = -diagTranslateX2*(h/w) + h;
 }
@@ -73,16 +73,16 @@
 public void paint(GC gc, int width, int height) {
 	if (!example.checkAdvancedGraphics()) return;
 	Device device = gc.getDevice();
-	
+
 	// horizontal rectangle
 	Transform transform = new Transform(device);
 	transform.translate(0, translateY);
 	gc.setTransform(transform);
 	transform.dispose();
-	
+
 	Path path = new Path(device);
 	path.addRectangle(0, 0, width, 50);
-	Pattern pattern = new Pattern(device, 0, 0, width, 50, 
+	Pattern pattern = new Pattern(device, 0, 0, width, 50,
 				device.getSystemColor(SWT.COLOR_BLUE), 0x7f,
 				device.getSystemColor(SWT.COLOR_RED), 0x7f);
 	gc.setBackgroundPattern(pattern);
@@ -95,11 +95,11 @@
 	transform.translate(translateX, 0);
 	gc.setTransform(transform);
 	transform.dispose();
-	
+
 	path = new Path(device);
 	path.addRectangle(0, 0, 50, height);
 	pattern.dispose();
-	pattern = new Pattern(device, 0, 0, 50, height, 
+	pattern = new Pattern(device, 0, 0, 50, height,
 				device.getSystemColor(SWT.COLOR_DARK_CYAN), 0x7f,
 				device.getSystemColor(SWT.COLOR_WHITE), 0x7f);
 	gc.setBackgroundPattern(pattern);
@@ -111,40 +111,40 @@
 	Rectangle rect = new Rectangle(0, 0, 50, height);
 	transform = new Transform(device);
 	transform.translate(width-diagTranslateX1, (height/2)-diagTranslateY1);
-	
+
 	// rotate on center of rectangle
 	transform.translate(rect.width/2, rect.height/2);
 	transform.rotate(45);
 	transform.translate(-rect.width/2, -rect.height/2);
 	gc.setTransform(transform);
 	transform.dispose();
-	
+
 	path = new Path(device);
 	path.addRectangle(rect.x, rect.y, rect.width, rect.height);
 	pattern.dispose();
-	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height, 
+	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height,
 			device.getSystemColor(SWT.COLOR_DARK_GREEN), 0x7f,
 			device.getSystemColor(SWT.COLOR_DARK_MAGENTA), 0x7f);
 	gc.setBackgroundPattern(pattern);
 	gc.fillPath(path);
 	gc.drawPath(path);
 	path.dispose();
-	
+
 	// diagonal rectangle from top right corner
 	transform = new Transform(device);
 	transform.translate(width-diagTranslateX2, (height/2)-diagTranslateY2);
-	
+
 	// rotate on center of rectangle
 	transform.translate(rect.width/2, rect.height/2);
 	transform.rotate(-45);
 	transform.translate(-rect.width/2, -rect.height/2);
 	gc.setTransform(transform);
 	transform.dispose();
-	
+
 	path = new Path(device);
 	path.addRectangle(rect.x, rect.y, rect.width, rect.height);
 	pattern.dispose();
-	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height, 
+	pattern = new Pattern(device, rect.x, rect.y, rect.width, rect.height,
 			device.getSystemColor(SWT.COLOR_DARK_RED), 0x7f,
 			device.getSystemColor(SWT.COLOR_YELLOW), 0x7f);
 	gc.setBackgroundPattern(pattern);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
index e6b72e7..897e0e4 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java
@@ -18,10 +18,10 @@
  * This tab draws 3D shapes (in 2D) using various line styles.
  */
 public class ShapesTab extends AnimatedGraphicsTab {
-	
+
 	int upDownValue;
 	int inc = 1;
-	
+
 public ShapesTab(GraphicsExample example) {
 	super(example);
 	upDownValue = 0;
@@ -56,147 +56,147 @@
 	Device device = gc.getDevice();
 
 	int size = 100;
-	
+
 	gc.setLineWidth(2);
-	
+
 	// ----- cube -----
-	
+
 	Transform transform = new Transform(device);
 	transform.translate(width/4 - size, height/4 + -upDownValue);
 	gc.setTransform(transform);
-	
+
 	gc.setLineStyle(SWT.LINE_DOT);
 
 	// fill in left face
 	gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
 	gc.fillPolygon(new int [] {0, 0, size/3, -size/2, size/3, size/2, 0, size});
-	
+
 	gc.setLineStyle(SWT.LINE_SOLID);
-	
+
 	// square
 	gc.drawRectangle(0, 0, size, size);
-	
+
 	// next 3 solid lines
 	gc.drawLine(0, 0, size/3, -size/2);			// left
 	gc.drawLine(size, 0, 4*size/3, -size/2);	// middle
 	gc.drawLine(size, size, 4*size/3, size/2);	// right
-	
+
 	// 2 furthest solid lines
 	gc.drawLine(size/3, -size/2, 4*size/3, -size/2);  	// horizontal
 	gc.drawLine(4*size/3, size/2, 4*size/3, -size/2);	// vertical
-	
+
 	// 3 dotted lines
 	gc.setLineStyle(SWT.LINE_DOT);
 	gc.drawLine(0, size, size/3, size/2);
 	gc.drawLine(size/3, -size/2, size/3, size/2);
 	gc.drawLine(4*size/3, size/2, size/3, size/2);
-	
+
 	// fill right side of cube
 	gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
 	gc.fillPolygon(new int [] {size, 0, 4*size/3, -size/2, 4*size/3, size/2, size, size});
-	
+
 	transform.dispose();
-	
+
 	// ----- pyramid -----
-	
+
 	transform = new Transform(device);
 	transform.translate(width/2 + size/2, height/4 + size + upDownValue);
 	gc.setTransform(transform);
-	
+
 	// fill back of pyramid
 	gc.fillPolygon(new int [] {size/3, -size/2, 6*size/10, -5*size/4, 4*size/3, -size/2});
-	
+
 	// fill left side of pyramid
 	gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
 	gc.fillPolygon(new int [] {0, 0, 6*size/10, -5*size/4, size/3, -size/2});
-	
+
 	// select solid line style
 	gc.setLineStyle(SWT.LINE_SOLID);
-	
+
 	// 2 solid lines of base
 	gc.drawLine(0, 0, size, 0);
 	gc.drawLine(size, 0, 4*size/3, -size/2);
-	
+
 	// 3 solid lines of pyramid
 	gc.drawLine(0, 0, 6*size/10, -5*size/4);
 	gc.drawLine(size, 0, 6*size/10, -5*size/4);
 	gc.drawLine(4*size/3, -size/2, 6*size/10, -5*size/4);
-	
+
 	// select dot line style
 	gc.setLineStyle(SWT.LINE_DOT);
-	
+
 	// 3 dotted lines
-	gc.drawLine(0, 0, size/3, -size/2);					// left 
+	gc.drawLine(0, 0, size/3, -size/2);					// left
 	gc.drawLine(size/3, -size/2, 6*size/10, -5*size/4); // to top of pyramid
 	gc.drawLine(4*size/3, -size/2, size/3, -size/2);	// right
 
 	transform.dispose();
-	
+
 	// ----- rectangular prism -----
-	
+
 	transform = new Transform(device);
 	transform.translate(width/2 + upDownValue, height/2 + size);
 	gc.setTransform(transform);
-	
+
 	// fill bottom
 	gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
 	gc.fillPolygon(new int [] {0, size, size/3, size/2, 7*size/3, size/2, 2*size, size});
-	
+
 	// select solid line style
 	gc.setLineStyle(SWT.LINE_SOLID);
-	
+
 	gc.drawRectangle(0, 0, 2*size, size);
-	
+
 	// next 3 solid lines
 	gc.drawLine(0, 0, size/3, -size/2);			// left
 	gc.drawLine(2*size, 0, 7*size/3, -size/2);	// middle
 	gc.drawLine(2*size, size, 7*size/3, size/2);	// right
-	
+
 	// 2 furthest solid lines
 	gc.drawLine(size/3, -size/2, 7*size/3, -size/2);  	// horizontal
 	gc.drawLine(7*size/3, size/2, 7*size/3, -size/2);	// vertical
-	
+
 	// 3 dotted lines
 	gc.setLineStyle(SWT.LINE_DASHDOTDOT);
 	gc.drawLine(0, size, size/3, size/2);
 	gc.drawLine(size/3, -size/2, size/3, size/2);
 	gc.drawLine(7*size/3, size/2, size/3, size/2);
-	
+
 	// fill top
 	gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
 	gc.fillPolygon(new int [] {0, 0, size/3, -size/2, 7*size/3, -size/2, 2*size, 0});
 
 	transform.dispose();
-	
+
 	// ----- triangular shape -----
 	transform = new Transform(device);
 	transform.translate(width/4 - size - upDownValue, height/2 + size + upDownValue);
 	gc.setTransform(transform);
-	
+
 	// fill back of shape (top left)
 	gc.setBackground(device.getSystemColor(SWT.COLOR_YELLOW));
 	gc.fillPolygon(new int [] {0, 0, size/2, -size, size/2, -size/3});
 
 	// fill back of shape (bottom right)
 	gc.fillPolygon(new int [] {size, 0, size/2, size, size/2, -size/3});
-	
+
 	// select solid line style
 	gc.setLineStyle(SWT.LINE_SOLID);
-	
+
 	// solid lines of bottom triangle
 	gc.drawLine(0, 0, size/2, size);
 	gc.drawLine(size, 0, size/2, size);
-	
+
 	// solid lines of top triangle
 	gc.drawLine(0, 0, size/2, -size);
 	gc.drawLine(size, 0, size/2, -size);
-	
+
 	// solid lines on top
 	gc.drawLine(0, 0, size/2, -size/3);
 	gc.drawLine(size, 0, size/2, -size/3);
 	gc.drawLine(size/2, -size/3, size/2, size);
 	gc.drawLine(size/2, -size/3, size/2, -size);
-	
+
 	transform.dispose();
 }
 
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java
index 829ab54..16e82c1 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/StarPolyTab.java
@@ -19,7 +19,7 @@
 public class StarPolyTab extends GraphicsTab {
 	int[] radial;
 	static final int POINTS  = 11;
-	
+
 	Combo fillRuleCb;
 
 public StarPolyTab(GraphicsExample example) {
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
index 1c98dc3..4453ae8 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld1.java
@@ -27,7 +27,7 @@
 	}
 	display.dispose ();
 }
-	
+
 public Shell open (Display display) {
 	Shell shell = new Shell (display);
 	shell.open ();
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
index 320c8c8..845038e 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld2.java
@@ -16,12 +16,12 @@
 import java.util.ResourceBundle;
 
 /*
- * This example builds on HelloWorld1 and demonstrates the minimum amount 
+ * This example builds on HelloWorld1 and demonstrates the minimum amount
  * of code required to open an SWT Shell with a Label and process the events.
  */
 public class HelloWorld2 {
 	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
+
 public static void main (String [] args) {
 	Display display = new Display ();
 	Shell shell = new HelloWorld2 ().open (display);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
index d96f4fb..9ceea4f 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld3.java
@@ -17,12 +17,12 @@
 import java.util.ResourceBundle;
 
 /*
- * This example builds on HelloWorld2 and demonstrates how to resize the 
+ * This example builds on HelloWorld2 and demonstrates how to resize the
  * Label when the Shell resizes using a Listener mechanism.
  */
 public class HelloWorld3 {
 	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
+
 public static void main (String [] args) {
 	Display display = new Display ();
 	Shell shell = new HelloWorld3 ().open (display);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
index 204f458..757618a 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/helloworld/HelloWorld4.java
@@ -18,12 +18,12 @@
 import java.util.ResourceBundle;
 
 /*
- * This example builds on HelloWorld2 and demonstrates how to resize the 
+ * This example builds on HelloWorld2 and demonstrates how to resize the
  * Label when the Shell resizes using a Layout.
  */
 public class HelloWorld4 {
 	private static ResourceBundle resHello = ResourceBundle.getBundle("examples_helloworld");
-	
+
 public static void main (String [] args) {
 	Display display = new Display ();
 	Shell shell = new HelloWorld4 ().open (display);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
index 55d3da8..c96ac3d 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaLineStyler.java
@@ -39,7 +39,7 @@
 	public static final int WORD=		0;
 	public static final int WHITE=		1;
 	public static final int KEY=			2;
-	public static final int COMMENT=		3;	
+	public static final int COMMENT=		3;
 	public static final int STRING=		5;
 	public static final int OTHER=		6;
 	public static final int NUMBER=		7;
@@ -81,9 +81,9 @@
 	tokenColors= new int[MAXIMUM_TOKEN];
 	tokenColors[WORD]=		0;
 	tokenColors[WHITE]=		0;
-	tokenColors[KEY]=		3; 
-	tokenColors[COMMENT]=	1; 
-	tokenColors[STRING]= 	2; 
+	tokenColors[KEY]=		3;
+	tokenColors[COMMENT]=	1;
+	tokenColors[STRING]= 	2;
 	tokenColors[OTHER]=		0;
 	tokenColors[NUMBER]=	0;
 }
@@ -95,7 +95,7 @@
 }
 
 /**
- * Event.detail			line start offset (input)	
+ * Event.detail			line start offset (input)
  * Event.text 			line text (input)
  * LineStyleEvent.styles 	Enumeration of StyleRanges, need to be in order. (output)
  * LineStyleEvent.background 	line background color (output)
@@ -119,8 +119,8 @@
 			// do nothing for non-colored tokens
 		} else if (token != WHITE) {
 			Color color = getColor(token);
-			// Only create a style if the token color is different than the 
-			// widget's default foreground color and the token's style is not 
+			// Only create a style if the token color is different than the
+			// widget's default foreground color and the token's style is not
 			// bold.  Keywords are bolded.
 			if ((!color.equals(defaultFgColor)) || (token == KEY)) {
 				StyleRange style = new StyleRange(scanner.getStartOffset() + event.lineOffset, scanner.getLength(), color, null);
@@ -135,22 +135,22 @@
 					if (lastStyle.similarTo(style) && (lastStyle.start + lastStyle.length == style.start)) {
 						lastStyle.length += style.length;
 					} else {
-						styles.add(style); 
+						styles.add(style);
 					}
-				} 
-			} 
+				}
+			}
 		} else if ((!styles.isEmpty()) && ((lastStyle=styles.get(styles.size()-1)).fontStyle == SWT.BOLD)) {
 			int start = scanner.getStartOffset() + event.lineOffset;
 			lastStyle = styles.get(styles.size() - 1);
 			// A font style of SWT.BOLD implies that the last style
 			// represents a java keyword.
 			if (lastStyle.start + lastStyle.length == start) {
-				// Have the white space take on the style before it to 
+				// Have the white space take on the style before it to
 				// minimize the number of style ranges created and the
 				// number of font style changes during rendering.
 				lastStyle.length += scanner.getLength();
 			}
-		} 
+		}
 		token= scanner.nextToken();
 	}
 	event.styles = styles.toArray(new StyleRange[styles.size()]);
@@ -163,7 +163,7 @@
 	int cnt = 0;
 	int[] offsets = new int[2];
 	boolean done = false;
-	
+
 	try {
 	while (!done) {
 		switch (ch = buffer.read()) {
@@ -181,10 +181,10 @@
 					offsets = new int[2];
 					offsets[0] = cnt;
 					blkComment = true;
-					cnt++;	
+					cnt++;
 				} else {
 					cnt++;
-				}						
+				}
 				cnt++;
 				break;
 			}
@@ -193,20 +193,20 @@
 					ch = buffer.read();
 					cnt++;
 					if (ch == '/') {
-						blkComment = false;	
+						blkComment = false;
 						offsets[1] = cnt;
 						blockComments.add(offsets);
 					}
 				}
-				cnt++;	
+				cnt++;
 				break;
 			}
 			default : {
-				cnt++;				
+				cnt++;
 				break;
 			}
 		}
-	}		
+	}
 	} catch(IOException e) {
 		// ignore errors
 	}
@@ -225,7 +225,7 @@
 	protected int fStartToken;
 	protected boolean fEofSeen= false;
 
-	private String[] fgKeywords= { 
+	private String[] fgKeywords= {
 		"abstract",
 		"boolean", "break", "byte",
 		"case", "catch", "char", "class", "continue",
@@ -278,9 +278,9 @@
 		int c;
 		fStartToken= fPos;
 		while (true) {
-			switch (c= read()) {			
+			switch (c= read()) {
 			case EOF:
-				return EOF;				
+				return EOF;
 			case '/':	// comment
 				c= read();
 				if (c == '/') {
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
index 422c792..0af83e0 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/javaviewer/JavaViewer.java
@@ -39,7 +39,7 @@
 
 /**
  */
-public class JavaViewer {  
+public class JavaViewer {
 	Shell shell;
 	StyledText text;
 	JavaLineStyler lineStyler = new JavaLineStyler();
@@ -51,7 +51,7 @@
 	Menu menu = new Menu (bar);
 	MenuItem item;
 
-	// Open 
+	// Open
 	item = new MenuItem (menu, SWT.PUSH);
 	item.setText (resources.getString("Open_menuitem"));
 	item.setAccelerator(SWT.MOD1 + 'O');
@@ -86,7 +86,7 @@
 
 void createShell (Display display) {
 	shell = new Shell (display);
-	shell.setText (resources.getString("Window_title"));	
+	shell.setText (resources.getString("Window_title"));
 	GridLayout layout = new GridLayout();
 	layout.numColumns = 1;
 	shell.setLayout(layout);
@@ -136,20 +136,20 @@
 	return shell;
 }
 
-void openFile() {	
+void openFile() {
 	if (fileDialog == null) {
 		fileDialog = new FileDialog(shell, SWT.OPEN);
 	}
 
 	fileDialog.setFilterExtensions(new String[] {"*.java", "*.*"});
 	String name = fileDialog.open();
-	
+
 	open(name);
 }
 
 void open(String name) {
 	final String textString;
-	
+
 	if ((name == null) || (name.length() == 0)) return;
 
 	File file = new File(name);
@@ -186,8 +186,8 @@
 	}
 	// Guard against superfluous mouse move events -- defer action until later
 	Display display = text.getDisplay();
-	display.asyncExec(() -> text.setText(textString));	
-	
+	display.asyncExec(() -> text.setText(textString));
+
 	// parse the block comments up front since block comments can go across
 	// lines - inefficient way of doing this
 	lineStyler.parseBlockComments(textString);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
index 08e3cbd..9f187d6 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FillLayoutTab.java
@@ -29,14 +29,14 @@
 	Text nameText;
 	final int NAME_COL = 0;
 	final int TOTAL_COLS = 2;
-	
+
 	/**
 	 * Creates the Tab within a given instance of LayoutExample.
 	 */
 	FillLayoutTab(LayoutExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the widgets in the "child" group.
 	 */
@@ -44,7 +44,7 @@
 	void createChildWidgets () {
 		/* Add common controls */
 		super.createChildWidgets ();
-		
+
 		/* Add TableEditors */
 		comboEditor = new TableEditor (table);
 		nameEditor = new TableEditor (table);
@@ -61,17 +61,17 @@
 					return;
 				}
 				table.showSelection ();
-				
+
 				combo = new CCombo (table, SWT.READ_ONLY);
 				createComboEditor (combo, comboEditor);
-				
+
 				nameText = new Text(table, SWT.SINGLE);
 				nameText.setText(data.get(index)[NAME_COL]);
 				createTextEditor(nameText, nameEditor, NAME_COL);
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the control widgets.
 	 */
@@ -90,8 +90,8 @@
 		vertical = new Button (typeGroup, SWT.RADIO);
 		vertical.setText ("SWT.VERTICAL");
 		vertical.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
-		vertical.addSelectionListener (selectionListener); 
-		
+		vertical.addSelectionListener (selectionListener);
+
 		/* Controls the margins and spacing of the FillLayout */
 		Group marginGroup = new Group(controlGroup, SWT.NONE);
 		marginGroup.setText (LayoutExample.getResourceString("Margins_Spacing"));
@@ -110,11 +110,11 @@
 		spacing = new Spinner(marginGroup, SWT.BORDER);
 		spacing.setSelection(0);
 		spacing.addSelectionListener(selectionListener);
-		
+
 		/* Add common controls */
 		super.createControlWidgets ();
 	}
-	
+
 	/**
 	 * Creates the example layout.
 	 */
@@ -123,8 +123,8 @@
 		fillLayout = new FillLayout ();
 		layoutComposite.setLayout (fillLayout);
 	}
-	
-	/** 
+
+	/**
 	 * Disposes the editors without placing their contents
 	 * into the table.
 	 */
@@ -135,7 +135,7 @@
 		nameText.dispose();
 	}
 
-	
+
 	/**
 	 * Generates code for the example layout.
 	 */
@@ -162,7 +162,7 @@
 		}
 		return code;
 	}
-	
+
 	/**
 	 * Returns the string to insert when a new child control is added to the table.
 	 */
@@ -178,7 +178,7 @@
 	String [] getLayoutDataFieldNames() {
 		return new String [] { "Control Name", "Control Type" };
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -186,7 +186,7 @@
 	String getTabText () {
 		return "FillLayout";
 	}
-	
+
 	/**
 	 * Takes information from TableEditors and stores it.
 	 */
@@ -196,7 +196,7 @@
 		comboEditor.setEditor (null, null, -1);
 		if (oldItem != null) {
 			int row = table.indexOf (oldItem);
-			try {				
+			try {
 				new String (nameText.getText ());
 			} catch (NumberFormatException e) {
 				nameText.setText (oldItem.getText (NAME_COL));
@@ -213,7 +213,7 @@
 		layoutComposite.layout (true);
 		layoutGroup.layout (true);
 	}
-	
+
 	/**
 	 * Sets the state of the layout.
 	 */
@@ -224,10 +224,10 @@
 		} else {
 			fillLayout.type = SWT.HORIZONTAL;
 		}
-		
+
 		/* Set the margins and spacing */
-		fillLayout.marginWidth = marginWidth.getSelection();		
-		fillLayout.marginHeight = marginHeight.getSelection();		
+		fillLayout.marginWidth = marginWidth.getSelection();
+		fillLayout.marginHeight = marginHeight.getSelection();
 		fillLayout.spacing = spacing.getSelection();
 	}
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
index f115539..50d67dd 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/FormLayoutTab.java
@@ -47,7 +47,7 @@
 	CCombo combo;
 	Text nameText, widthText, heightText;
 	Button leftAttach, rightAttach, topAttach, bottomAttach;
-	
+
 	/* Constants */
 	final int NAME_COL = 0;
 	final int COMBO_COL = 1;
@@ -57,7 +57,7 @@
 	final int RIGHT_COL = 5;
 	final int TOP_COL = 6;
 	final int BOTTOM_COL = 7;
-	
+
 	final int MODIFY_COLS = 4;	// The number of columns with combo or text editors
 	final int TOTAL_COLS = 8;
 
@@ -67,7 +67,7 @@
 	FormLayoutTab(LayoutExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Returns the constant for the alignment for an
 	 * attachment given a string.
@@ -80,7 +80,7 @@
 		if (align.equals("CENTER")) return SWT.CENTER;
 		return SWT.DEFAULT;
 	}
-	
+
 	/**
 	 * Returns a string representing the alignment for an
 	 * attachment given a constant.
@@ -95,10 +95,10 @@
 		}
 		return "DEFAULT";
 	}
-	
+
 	/**
 	 * Update the attachment field in case the type of control
-	 * has changed. 
+	 * has changed.
 	 */
 	String checkAttachment (String oldAttach, FormAttachment newAttach) {
 		String controlClass = newAttach.control.getClass().toString ();
@@ -110,7 +110,7 @@
 		String index = oldAttach.substring (i, oldAttach.indexOf (','));
 		return controlType + index + "," + newAttach.offset + ":" + alignmentString (newAttach.alignment);
 	}
-	
+
 	/**
 	 * Creates the widgets in the "child" group.
 	 */
@@ -118,13 +118,13 @@
 	void createChildWidgets () {
 		/* Add common controls */
 		super.createChildWidgets ();
-		
+
 		/* Resize the columns */
 		table.getColumn (LEFT_COL).setWidth (90);
 		table.getColumn (RIGHT_COL).setWidth (90);
 		table.getColumn (TOP_COL).setWidth (90);
 		table.getColumn (BOTTOM_COL).setWidth (90);
-				
+
 		/* Add TableEditors */
 		nameEditor = new TableEditor (table);
 		comboEditor = new TableEditor (table);
@@ -148,22 +148,22 @@
 					return;
 				}
 				table.showSelection ();
-				
+
 				combo = new CCombo (table, SWT.READ_ONLY);
 				createComboEditor (combo, comboEditor);
-				
+
 				nameText = new Text (table, SWT.SINGLE);
 				nameText.setText (data.get(index)[NAME_COL]);
 				createTextEditor(nameText, nameEditor, NAME_COL);
-				
+
 				widthText = new Text (table, SWT.SINGLE);
 				widthText.setText (data.get (index) [WIDTH_COL]);
 				createTextEditor (widthText, widthEditor, WIDTH_COL);
-				
+
 				heightText = new Text (table, SWT.SINGLE);
 				heightText.setText (data.get (index) [HEIGHT_COL]);
 				createTextEditor (heightText, heightEditor, HEIGHT_COL);
-				
+
 				leftAttach = new Button (table, SWT.PUSH);
 				leftAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
 				leftEditor.horizontalAlignment = SWT.LEFT;
@@ -182,7 +182,7 @@
 						resetEditors ();
 					}
 				});
-				
+
 				rightAttach = new Button (table, SWT.PUSH);
 				rightAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
 				rightEditor.horizontalAlignment = SWT.LEFT;
@@ -202,7 +202,7 @@
 						resetEditors ();
 					}
 				});
-				
+
 				topAttach = new Button (table, SWT.PUSH);
 				topAttach.setText (LayoutExample.getResourceString ("Attach_Edit"));
 				topEditor.horizontalAlignment = SWT.LEFT;
@@ -240,7 +240,7 @@
 						resetEditors ();
 					}
 				});
-                
+
                 for (int i=0; i<table.getColumnCount (); i++) {
                 	Rectangle rect = newItem.getBounds (i);
                     if (rect.contains (pt)) {
@@ -249,9 +249,9 @@
                     			resetEditors ();
                     			break;
 							case COMBO_COL :
-								combo.setFocus ();	
+								combo.setFocus ();
 								break;
-							case WIDTH_COL :	
+							case WIDTH_COL :
 								widthText.setFocus ();
 								break;
 							case HEIGHT_COL :
@@ -261,9 +261,9 @@
 								break;
 						}
                     }
-                } 
+                }
 			}
-		});		
+		});
 	}
 
 	/**
@@ -304,11 +304,11 @@
 		spacing = new Spinner(marginGroup, SWT.BORDER);
 		spacing.setSelection(0);
 		spacing.addSelectionListener(selectionListener);
-		
+
 		/* Add common controls */
 		super.createControlWidgets ();
 	}
-	
+
 	/**
 	 * Creates the example layout.
 	 */
@@ -317,8 +317,8 @@
 		formLayout = new FormLayout ();
 		layoutComposite.setLayout (formLayout);
 	}
-	
-	/** 
+
+	/**
 	 * Disposes the editors without placing their contents
 	 * into the table.
 	 */
@@ -337,7 +337,7 @@
 
 	/**
 	 * Generates code for the example layout.
-	 */	
+	 */
 	@Override
 	StringBuffer generateLayoutCode () {
 		StringBuffer code = new StringBuffer ();
@@ -364,7 +364,7 @@
 			code.append ("\t\tformLayout.spacing = " + formLayout.spacing + ";\n");
 		}
 		code.append ("\t\tshell.setLayout (formLayout);\n");
-		
+
 		boolean first = true;
 		for (int i = 0; i < children.length; i++) {
 			Control control = children [i];
@@ -376,7 +376,7 @@
 					code.append ("FormData ");
 					first = false;
 				}
-				code.append ("data = new FormData ();\n");	
+				code.append ("data = new FormData ();\n");
 				if (data.width != SWT.DEFAULT) {
 					code.append ("\t\tdata.width = " + data.width + ";\n");
 				}
@@ -432,14 +432,14 @@
 		}
 		return code;
 	}
-	
+
 	/**
 	 * Returns the string to insert when a new child control is added to the table.
 	 */
 	@Override
 	String[] getInsertString (String name, String controlType) {
 		return new String [] {name, controlType, "-1", "-1",
-				"0,0 (" + LayoutExample.getResourceString ("Default") + ")", "", 
+				"0,0 (" + LayoutExample.getResourceString ("Default") + ")", "",
 				"0,0 (" + LayoutExample.getResourceString ("Default") + ")", ""};
 	}
 
@@ -450,16 +450,16 @@
 	String [] getLayoutDataFieldNames() {
 		return new String [] {
 			"Control Name",
-			"Control Type", 
-			"width", 
-			"height", 
-			"left", 
-			"right", 
-			"top", 
+			"Control Type",
+			"width",
+			"height",
+			"left",
+			"right",
+			"top",
 			"bottom"
 		};
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -467,7 +467,7 @@
 	String getTabText () {
 		return "FormLayout";
 	}
-	
+
 	/**
 	 * Takes information from TableEditors and stores it.
 	 */
@@ -504,14 +504,14 @@
 		layoutComposite.layout (true);
 		layoutGroup.layout (true);
 	}
-	
+
 	/**
 	 * Return the initial weight of the layout and control groups within the SashForm.
 	 * @return the desired sash weights for the tab page
 	 */
 	@Override
 	int[] sashWeights () {
-		return new int[] {40, 60};		
+		return new int[] {40, 60};
 	}
 
 	/**
@@ -553,10 +553,10 @@
 			} catch (NumberFormatException e) {
 				offset = 0;
 			}
-			return new FormAttachment (position, offset);		
+			return new FormAttachment (position, offset);
 		}
 	}
-	
+
 	/**
 	 * Sets the layout data for the children of the layout.
 	 */
@@ -573,7 +573,7 @@
 			data = new FormData ();
 			if (width > 0) data.width = width;
 			if (height > 0) data.height = height;
-			
+
 			left = items [i].getText (LEFT_COL);
 			if (left.length () > 0) {
 				data.left = setAttachment (left);
@@ -609,22 +609,22 @@
 			children [i].setLayoutData (data);
 		}
 	}
-	
+
 	/**
 	 * Sets the state of the layout.
 	 */
 	@Override
 	void setLayoutState () {
 		/* Set the margins and spacing */
-		formLayout.marginWidth = marginWidth.getSelection ();		
-		formLayout.marginHeight = marginHeight.getSelection ();		
+		formLayout.marginWidth = marginWidth.getSelection ();
+		formLayout.marginHeight = marginHeight.getSelection ();
 		formLayout.marginLeft = marginLeft.getSelection ();
 		formLayout.marginRight = marginRight.getSelection ();
 		formLayout.marginTop = marginTop.getSelection ();
 		formLayout.marginBottom = marginBottom.getSelection ();
 		formLayout.spacing = spacing.getSelection ();
-	}	
-	
+	}
+
 	/**
 	 * <code>AttachDialog</code> is the class that creates a
 	 * dialog specific for this example. It creates a dialog
@@ -634,25 +634,25 @@
 		String result = "";
 		String controlInput, positionInput, alignmentInput, offsetInput;
 		int col = 0;
-		
+
 		public AttachDialog (Shell parent, int style) {
 			super (parent, style);
 		}
-		
+
 		public AttachDialog (Shell parent) {
 			this (parent, 0);
 		}
-		
+
 		public void setColumn (int col) {
 			this.col = col;
 		}
-	 
+
 		public String open () {
 			Shell parent = getParent ();
 			final Shell shell = new Shell (parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
 			shell.setText (getText ());
 			shell.setLayout (new GridLayout (3, true));
-			
+
 			/* Find out what was previously set as an attachment */
 			TableItem newItem = leftEditor.getItem ();
 			result = newItem.getText (col);
@@ -676,18 +676,18 @@
 					}
 				}
 			}
-			
+
 			/* Add position field */
 			final Button posButton = new Button (shell, SWT.RADIO);
 			posButton.setText (LayoutExample.getResourceString ("Position"));
-			posButton.setSelection (!isControl);			
+			posButton.setSelection (!isControl);
 			final Combo position = new Combo (shell, SWT.NONE);
 			position.setItems ("0","25","33","50","67","75","100");
 			position.setVisibleItemCount (7);
 			position.setText (oldPos);
-			position.setEnabled (!isControl);			
+			position.setEnabled (!isControl);
 			position.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
+
 			/* Add control field */
 			final Button contButton = new Button (shell, SWT.RADIO);
 			contButton.setText (LayoutExample.getResourceString ("Control"));
@@ -706,7 +706,7 @@
 			else control.select (0);
 			control.setEnabled (isControl);
 			control.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
+
 			/* Add alignment field */
 			new Label (shell, SWT.NONE).setText (LayoutExample.getResourceString ("Alignment"));
 			final Combo alignment = new Combo (shell, SWT.NONE);
@@ -721,13 +721,13 @@
 			alignment.setText ("SWT." + oldAlign);
 			alignment.setEnabled (isControl);
 			alignment.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
+
 			/* Add offset field */
 			new Label (shell, SWT.NONE).setText (LayoutExample.getResourceString ("Offset"));
 			final Text offset = new Text (shell, SWT.SINGLE | SWT.BORDER);
 			offset.setText (oldOffset);
 			offset.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false, 2, 1));
-			
+
 			/* Add listeners for choosing between position and control */
 			posButton.addSelectionListener (new SelectionAdapter () {
 				@Override
@@ -745,7 +745,7 @@
 					alignment.setEnabled (true);
 				}
 			});
-			
+
 			Button clear = new Button (shell, SWT.PUSH);
 			clear.setText (LayoutExample.getResourceString ("Clear"));
 			clear.setLayoutData (new GridData (SWT.END, SWT.CENTER, false, false));
@@ -795,7 +795,7 @@
 					shell.close ();
 				}
 			});
-			
+
 			shell.setDefaultButton (ok);
 			shell.pack ();
 			/* Center the dialog */
@@ -807,7 +807,7 @@
 			while (!shell.isDisposed ()) {
 				if (display.readAndDispatch ()) display.sleep ();
 			}
-			
+
 			return result;
 		}
 	}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
index 997c511..c2f2158 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/LayoutExample.java
@@ -22,11 +22,11 @@
 public class LayoutExample {
 	private static ResourceBundle resourceBundle = ResourceBundle.getBundle("examples_layout");
 	private TabFolder tabFolder;
-	
+
 	/**
 	 * Creates an instance of a LayoutExample embedded inside
 	 * the supplied parent Composite.
-	 * 
+	 *
 	 * @param parent the container of the example
 	 */
 	public LayoutExample(Composite parent) {
@@ -44,22 +44,22 @@
 		    item.setControl (tab.createTabFolderPage (tabFolder));
 		}
 	}
-	
+
 	/**
 	 * Grabs input focus.
 	 */
 	public void setFocus() {
 		tabFolder.setFocus();
 	}
-	
+
 	/**
 	 * Disposes of all resources associated with a particular
 	 * instance of the LayoutExample.
-	 */	
+	 */
 	public void dispose() {
 		tabFolder = null;
 	}
-	
+
 	/**
 	 * Invokes as a standalone program.
 	 */
@@ -96,7 +96,7 @@
 			return key;
 		} catch (NullPointerException e) {
 			return "!" + key + "!";
-		}			
+		}
 	}
 
 	/**
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
index bb5ec54..dde53d0 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/RowLayoutTab.java
@@ -29,7 +29,7 @@
 	TableEditor comboEditor, widthEditor, heightEditor, nameEditor, excludeEditor;
 	CCombo combo, exclude;
 	Text nameText, widthText, heightText;
-	
+
 	/* Constants */
 	final int NAME_COL = 0;
 	final int COMBO_COL = 1;
@@ -37,14 +37,14 @@
 	final int HEIGHT_COL = 3;
 	final int EXCLUDE_COL = 4;
 	final int TOTAL_COLS = 5;
-	
+
 	/**
 	 * Creates the Tab within a given instance of LayoutExample.
 	 */
 	RowLayoutTab(LayoutExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the widgets in the "child" group.
 	 */
@@ -52,7 +52,7 @@
 	void createChildWidgets () {
 		/* Add common controls */
 		super.createChildWidgets ();
-		
+
 		/* Add TableEditors */
 		nameEditor = new TableEditor (table);
 		comboEditor = new TableEditor (table);
@@ -73,22 +73,22 @@
 					return;
 				}
 				table.showSelection ();
-				
+
 				combo = new CCombo (table, SWT.READ_ONLY);
 				createComboEditor (combo, comboEditor);
-				
+
 				nameText = new Text(table, SWT.SINGLE);
 				nameText.setText(data.get(index)[NAME_COL]);
 				createTextEditor(nameText, nameEditor, NAME_COL);
-				
+
 				widthText = new Text(table, SWT.SINGLE);
 				widthText.setText(data.get(index)[WIDTH_COL]);
 				createTextEditor(widthText, widthEditor, WIDTH_COL);
-				
+
 				heightText = new Text(table, SWT.SINGLE);
 				heightText.setText (data.get (index) [HEIGHT_COL]);
 				createTextEditor (heightText, heightEditor, HEIGHT_COL);
-                
+
 				String [] boolValues = new String [] {"false", "true"};
 				exclude = new CCombo (table, SWT.NONE);
 				exclude.setItems (boolValues);
@@ -106,9 +106,9 @@
                     		case NAME_COL :
                     			nameText.setFocus ();
 							case COMBO_COL :
-								combo.setFocus ();	
+								combo.setFocus ();
 								break;
-							case WIDTH_COL :	
+							case WIDTH_COL :
 								widthText.setFocus ();
 								break;
 							case HEIGHT_COL :
@@ -122,11 +122,11 @@
 								break;
 						}
                     }
-                } 
+                }
 			}
 		});
 	}
-	
+
 	/**
 	 * Creates the control widgets.
 	 */
@@ -139,14 +139,14 @@
 		typeGroup.setLayoutData(new GridData (SWT.FILL, SWT.FILL, false, false));
 		horizontal = new Button (typeGroup, SWT.RADIO);
 		horizontal.setText ("SWT.HORIZONTAL");
-		horizontal.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		horizontal.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		horizontal.setSelection(true);
 		horizontal.addSelectionListener (selectionListener);
 		vertical = new Button (typeGroup, SWT.RADIO);
 		vertical.setText ("SWT.VERTICAL");
-		vertical.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		vertical.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		vertical.addSelectionListener (selectionListener);
-		
+
 		/* Controls the margins and spacing of the RowLayout */
 		Group marginGroup = new Group (controlGroup, SWT.NONE);
 		marginGroup.setText (LayoutExample.getResourceString ("Margins_Spacing"));
@@ -181,7 +181,7 @@
 		spacing = new Spinner(marginGroup, SWT.BORDER);
 		spacing.setSelection(3);
 		spacing.addSelectionListener (selectionListener);
-		
+
 		/* Controls other parameters of the RowLayout */
 		Group specGroup = new Group (controlGroup, SWT.NONE);
 		specGroup.setText (LayoutExample.getResourceString ("Properties"));
@@ -190,30 +190,30 @@
 		wrap = new Button (specGroup, SWT.CHECK);
 		wrap.setText ("Wrap");
 		wrap.setSelection (true);
-		wrap.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		wrap.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		wrap.addSelectionListener (selectionListener);
 		pack = new Button (specGroup, SWT.CHECK);
 		pack.setText ("Pack");
-		pack.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		pack.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		pack.setSelection (true);
 		pack.addSelectionListener(selectionListener);
 		fill = new Button(specGroup, SWT.CHECK);
 		fill.setText("Fill");
-		fill.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); 
+		fill.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
 		fill.addSelectionListener(selectionListener);
 		justify = new Button (specGroup, SWT.CHECK);
 		justify.setText ("Justify");
-		justify.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		justify.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		justify.addSelectionListener (selectionListener);
 		center = new Button (specGroup, SWT.CHECK);
 		center.setText ("Center");
-		center.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false)); 
+		center.setLayoutData (new GridData (SWT.FILL, SWT.CENTER, true, false));
 		center.addSelectionListener (selectionListener);
-		
+
 		/* Add common controls */
 		super.createControlWidgets ();
 	}
-	
+
 	/**
 	 * Creates the example layout.
 	 */
@@ -222,8 +222,8 @@
 		rowLayout = new RowLayout ();
 		layoutComposite.setLayout (rowLayout);
 	}
-		
-	/** 
+
+	/**
 	 * Disposes the editors without placing their contents
 	 * into the table.
 	 */
@@ -236,10 +236,10 @@
 		nameText.dispose ();
 		exclude.dispose ();
 	}
-	
+
 	/**
 	 * Generates code for the example layout.
-	 */	
+	 */
 	@Override
 	StringBuffer generateLayoutCode () {
 		StringBuffer code = new StringBuffer ();
@@ -249,7 +249,7 @@
 		}
 		if (rowLayout.wrap == false) {
 			code.append ("\t\trowLayout.wrap = false;\n");
-		} 
+		}
 		if (rowLayout.pack == false) {
 			code.append ("\t\trowLayout.pack = false;\n");
 		}
@@ -284,7 +284,7 @@
 			code.append ("\t\trowLayout.spacing = " + rowLayout.spacing + ";\n");
 		}
 		code.append ("\t\tshell.setLayout (rowLayout);\n");
-		
+
 		boolean first = true;
 		for (int i = 0; i < children.length; i++) {
 			Control control = children [i];
@@ -304,7 +304,7 @@
 					} else if (rowData.height == -1) {
 						code.append ("rowData = new RowData (" + rowData.width + ", SWT.DEFAULT);\n");
 					} else {
-						code.append ("rowData = new RowData (" + rowData.width + ", " + rowData.height + ");\n");				
+						code.append ("rowData = new RowData (" + rowData.width + ", " + rowData.height + ");\n");
 					}
 					if (rowData.exclude) {
 						code.append ("\t\trowData.exclude = true;\n");
@@ -315,7 +315,7 @@
 		}
 		return code;
 	}
-	
+
 	/**
 	 * Returns the string to insert when a new child control is added to the table.
 	 */
@@ -329,15 +329,15 @@
 	 */
 	@Override
 	String [] getLayoutDataFieldNames() {
-		return new String [] { 
+		return new String [] {
 			"Control Name",
 			"Control Type",
-			"width", 
+			"width",
 			"height",
 			"exclude"
 		};
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -345,7 +345,7 @@
 	String getTabText () {
 		return "RowLayout";
 	}
-	
+
 	/**
 	 * Takes information from TableEditors and stores it.
 	 */
@@ -355,7 +355,7 @@
 		if (oldItem != null) {
 			int row = table.indexOf (oldItem);
 			/* Make sure user has entered valid data */
-			try {				
+			try {
 				new String(nameText.getText());
 			} catch (NumberFormatException e) {
 				nameText.setText(oldItem.getText(NAME_COL));
@@ -384,7 +384,7 @@
 		layoutComposite.layout (true);
 		layoutGroup.layout (true);
 	}
-	
+
 	/**
 	 * Sets the layout data for the children of the layout.
 	 */
@@ -403,9 +403,9 @@
 			data.exclude = exclude.equals ("true");
 			children [i].setLayoutData (data);
 		}
-		
+
 	}
-	
+
 	/**
 	 * Sets the state of the layout.
 	 */
@@ -413,7 +413,7 @@
 	void setLayoutState () {
 		/* Set the type of layout */
 		rowLayout.type = vertical.getSelection () ? SWT.VERTICAL : SWT.HORIZONTAL;
-		
+
 		/* Set the margins and spacing */
 		rowLayout.marginWidth = marginWidth.getSelection ();
 		rowLayout.marginHeight = marginHeight.getSelection ();
@@ -422,7 +422,7 @@
 		rowLayout.marginTop = marginTop.getSelection ();
 		rowLayout.marginBottom = marginBottom.getSelection ();
 		rowLayout.spacing = spacing.getSelection ();
-		
+
 		/* Set the other layout properties */
 		rowLayout.wrap = wrap.getSelection ();
 		rowLayout.pack = pack.getSelection ();
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
index 4c9e99d..c6eba0c 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/layoutexample/StackLayoutTab.java
@@ -30,14 +30,14 @@
 	Text nameText;
 	final int NAME_COL = 0;
 	final int TOTAL_COLS = 2;
-	
+
 	/**
 	 * Creates the Tab within a given instance of LayoutExample.
 	 */
 	StackLayoutTab(LayoutExample instance) {
 		super(instance);
 	}
-	
+
 	/**
 	 * Creates the widgets in the "child" group.
 	 */
@@ -45,36 +45,36 @@
 	void createChildWidgets() {
 		/* Add common controls */
 		super.createChildWidgets();
-		
+
 		/* Add TableEditors */
 		comboEditor = new TableEditor(table);
 		nameEditor = new TableEditor(table);
 		table.addMouseListener (new MouseAdapter() {
 			@Override
-			public void mouseDown(MouseEvent e) { 	
+			public void mouseDown(MouseEvent e) {
 				resetEditors();
 				index = table.getSelectionIndex();
 				if (index == -1) return;
 				//set top layer of stack to the selected item
 				setTopControl (index);
-				
+
 				TableItem oldItem = comboEditor.getItem();
 				newItem = table.getItem(index);
 				if (newItem == oldItem || newItem != lastSelected) {
 					lastSelected = newItem;
 					return;
 				}
-				table.showSelection();				
-				combo = new CCombo(table, SWT.READ_ONLY);				
+				table.showSelection();
+				combo = new CCombo(table, SWT.READ_ONLY);
 				createComboEditor(combo, comboEditor);
-				
+
 				nameText = new Text(table, SWT.SINGLE);
 				nameText.setText(data.get(index)[NAME_COL]);
 				createTextEditor(nameText, nameEditor, NAME_COL);
 			}
-		});		
+		});
 	}
-	
+
 	/**
 	 * Creates the control widgets.
 	 */
@@ -105,7 +105,7 @@
 			public void widgetSelected(SelectionEvent e) {
 		    	setTopControl (currentLayer + 1);
 	        }
-		});		
+		});
 
 		/* Controls the margins of the StackLayout */
 		Group marginGroup = new Group(controlGroup, SWT.NONE);
@@ -121,11 +121,11 @@
 		marginHeight.setSelection(0);
 		marginHeight.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
 		marginHeight.addSelectionListener(selectionListener);
-		
+
 		/* Add common controls */
 		super.createControlWidgets();
 	}
-	
+
 	/**
 	 * Creates the example layout.
 	 */
@@ -134,15 +134,15 @@
 		stackLayout = new StackLayout();
 		layoutComposite.setLayout(stackLayout);
 	}
-	
+
 	@Override
 	void createLayoutComposite() {
 		layoutComposite = new Composite(layoutGroup, SWT.BORDER);
 		layoutComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
 		createLayout();
 	}
-	
-	/** 
+
+	/**
 	 * Disposes the editors without placing their contents
 	 * into the table.
 	 */
@@ -152,7 +152,7 @@
 		combo.dispose();
 		nameText.dispose();
 	}
-	
+
 	/**
 	 * Generates code for the example layout.
 	 */
@@ -176,7 +176,7 @@
 		}
 		return code;
 	}
-	
+
 	@Override
 	boolean needsCustom() {
 		return true;
@@ -197,7 +197,7 @@
 	String[] getLayoutDataFieldNames() {
 		return new String[] {"Control Name", "Control Type"};
 	}
-	
+
 	/**
 	 * Gets the text for the tab folder item.
 	 */
@@ -205,7 +205,7 @@
 	String getTabText() {
 		return "StackLayout";
 	}
-	
+
 	/**
 	 * Takes information from TableEditors and stores it.
 	 */
@@ -215,7 +215,7 @@
 		comboEditor.setEditor (null, null, -1);
 		if (oldItem != null) {
 			int row = table.indexOf (oldItem);
-			try {				
+			try {
 				new String (nameText.getText ());
 			} catch (NumberFormatException e) {
 				nameText.setText (oldItem.getText (NAME_COL));
@@ -231,7 +231,7 @@
 		refreshLayoutComposite ();
 		setTopControl (currentLayer);
 		layoutGroup.layout (true);
-	}	
+	}
 
 	void setTopControl (int index) {
 		if (index == -1 || children.length == 0) {
@@ -254,9 +254,9 @@
 	@Override
 	void setLayoutState() {
 		/* Set the margins and spacing */
-		stackLayout.marginWidth = marginWidth.getSelection();		
-		stackLayout.marginHeight = marginHeight.getSelection();		
-	}	
-	
+		stackLayout.marginWidth = marginWidth.getSelection();
+		stackLayout.marginHeight = marginHeight.getSelection();
+	}
+
 }
 
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
index 2a2367e..ada9224 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/AirbrushTool.java
@@ -23,10 +23,10 @@
 	private Random random;
 	private int cachedRadiusSquared;
 	private int cachedNumPoints;
-	
+
 	/**
 	 * Constructs a Tool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -36,10 +36,10 @@
 		setRetriggerTimer(10);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
@@ -54,7 +54,7 @@
 
 	/**
 	 * Returns the name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
index 08603da..e385dd9 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/BasicPaintSession.java
@@ -19,7 +19,7 @@
 
 	/**
 	 * Constructs a PaintSession.
-	 * 
+	 *
 	 * @param paintSurface the drawing surface to use
 	 */
 	protected BasicPaintSession(PaintSurface paintSurface) {
@@ -28,7 +28,7 @@
 
 	/**
 	 * Returns the paint surface associated with this paint session.
-	 * 
+	 *
 	 * @return the associated PaintSurface
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
index 5300b53..483940c 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContainerFigure.java
@@ -18,7 +18,7 @@
  */
 public class ContainerFigure extends Figure {
 	private static final int INITIAL_ARRAY_SIZE = 16;
-	
+
 	Figure[]   objectStack = null;
 	int      nextIndex = 0;
 
@@ -29,7 +29,7 @@
 	}
 	/**
 	 * Adds an object to the container for later drawing.
-	 * 
+	 *
 	 * @param object the object to add to the drawing list
 	 */
 	public void add(Figure object) {
@@ -52,7 +52,7 @@
 	}
 	/**
 	 * Adds an object to the container and draws its preview then updates the supplied preview state.
-	 * 
+	 *
 	 * @param object the object to add to the drawing list
 	 * @param gc the GC to draw on
 	 * @param offset the offset to add to virtual coordinates to get display coordinates
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
index 0d9bd25..48041ea 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ContinuousPaintSession.java
@@ -24,7 +24,7 @@
 	 * True if a click-drag is in progress.
 	 */
 	private boolean dragInProgress = false;
-	
+
 	/**
 	 * A cached Point array for drawing.
 	 */
@@ -34,7 +34,7 @@
 	 * The time to wait between retriggers in milliseconds.
 	 */
 	private int retriggerInterval = 0;
-	
+
 	/**
 	 * The currently valid RetriggerHandler
 	 */
@@ -42,7 +42,7 @@
 
 	/**
 	 * Constructs a ContinuousPaintSession.
-	 * 
+	 *
 	 * @param paintSurface the drawing surface to use
 	 */
 	protected ContinuousPaintSession(PaintSurface paintSurface) {
@@ -70,7 +70,7 @@
 			setStatusMessage(PaintExample.getResourceString("session.ContinuousPaint.message"));
 		dragInProgress = false;
 	}
-	
+
 	/**
 	 * Deactivates the tool.
      */
@@ -78,7 +78,7 @@
 	public void endSession() {
 		abortRetrigger();
 	}
-	
+
 	/**
 	 * Aborts the current operation.
 	 */
@@ -89,7 +89,7 @@
 
 	/**
 	 * Handles a mouseDown event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -106,7 +106,7 @@
 
 	/**
 	 * Handles a mouseDoubleClick event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -115,7 +115,7 @@
 
 	/**
 	 * Handles a mouseUp event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -126,10 +126,10 @@
 		mouseSegmentFinished(event);
 		dragInProgress = false;
 	}
-	
+
 	/**
 	 * Handles a mouseMove event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -140,10 +140,10 @@
 		mouseSegmentFinished(event);
 		prepareRetrigger();
 	}
-	
+
 	/**
 	 * Handle a rendering segment
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	private final void mouseSegmentFinished(MouseEvent event) {
@@ -159,7 +159,7 @@
 	/**
 	 * Draws a continuous segment from points[0] to points[1].
 	 * Assumes points[0] has been drawn already.
-	 * 
+	 *
 	 * @post points[0] will refer to the same point as points[1]
 	 */
 	protected void renderContinuousSegment() {
@@ -170,7 +170,7 @@
 		int absdY = Math.abs(dY);
 
 		if ((dX == 0) && (dY == 0)) return;
-		
+
 		if (absdY > absdX) {
 			final int incfpX = (dX << 16) / absdY;
 			final int incY = (dY > 0) ? 1 : -1;
@@ -197,7 +197,7 @@
 			points[0].y = points[1].y;
 		}
 		render(points[0]);
-	}		
+	}
 
 	/**
 	 * Prepare the retrigger timer
@@ -222,7 +222,7 @@
 						prepareRetrigger();
 					}
 				}
-			};			
+			};
 			display.timerExec(retriggerInterval, retriggerHandler);
 		}
 	}
@@ -233,7 +233,7 @@
 	private final void abortRetrigger() {
 		retriggerHandler = null;
 	}
-	
+
 	/**
 	 * Template method: Renders a point.
 	 * @param point, the point to render
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java
index 205541d..b0d1fd2 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/DragPaintSession.java
@@ -23,7 +23,7 @@
 	 * True if a click-drag is in progress
 	 */
 	private boolean dragInProgress = false;
-	
+
 	/**
 	 * The position of the first click in a click-drag
 	 */
@@ -33,10 +33,10 @@
 	 * A temporary point
 	 */
 	private Point tempPosition = new Point(-1, -1);
-	
+
 	/**
 	 * Constructs a PaintSession.
-	 * 
+	 *
 	 * @param getPaintSurface() the drawing surface to use
 	 */
 	protected DragPaintSession(PaintSurface paintSurface) {
@@ -53,14 +53,14 @@
 		anchorPosition.x = -1;
 		dragInProgress = false;
 	}
-	
+
 	/**
 	 * Deactivates the tool.
      */
 	@Override
 	public void endSession() {
 	}
-	
+
 	/**
 	 * Resets the tool.
 	 * Aborts any operation in progress.
@@ -74,7 +74,7 @@
 
 	/**
 	 * Handles a mouseDown event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -82,14 +82,14 @@
 		if (event.button != 1) return;
 		if (dragInProgress) return; // spurious event
 		dragInProgress = true;
-		
+
 		anchorPosition.x = event.x;
 		anchorPosition.y = event.y;
 	}
 
 	/**
 	 * Handles a mouseDoubleClick event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -98,7 +98,7 @@
 
 	/**
 	 * Handles a mouseUp event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -110,13 +110,13 @@
 		if (! dragInProgress) return; // spurious event
 		dragInProgress = false;
 		if (anchorPosition.x == -1) return; // spurious event
-		
+
 		getPaintSurface().commitRubberbandSelection();
 	}
-	
+
 	/**
 	 * Handles a mouseMove event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -132,10 +132,10 @@
 		tempPosition.y = event.y;
 		ps.addRubberbandSelection(createFigure(anchorPosition, tempPosition));
 	}
-	
+
 	/**
 	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
+	 *
 	 * @param anchor the anchor point
 	 * @param cursor the point marking the current pointer location
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
index c8ac193..bf4102e 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseFigure.java
@@ -24,7 +24,7 @@
 	 * Constructs an Ellipse
 	 * These objects are defined by any two diametrically opposing corners of a box
 	 * bounding the ellipse.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param lineStyle the line style for this object
 	 * @param x1 the virtual X coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
index 47a3e6b..75ca867 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/EllipseTool.java
@@ -21,7 +21,7 @@
 
 	/**
 	 * Constructs a EllipseTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -32,7 +32,7 @@
 
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
@@ -42,7 +42,7 @@
 
 	/**
 	 * Returns name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
index 7fce7e6..36a6d9f 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Figure.java
@@ -22,7 +22,7 @@
 public abstract class Figure {
 	/**
 	 * Draws this object.
-	 * 
+	 *
 	 * @param fdc a parameter block specifying drawing-related information
 	 */
 	public abstract void draw(FigureDrawContext fdc);
@@ -30,7 +30,7 @@
 	/**
 	 * Computes the damaged screen region caused by drawing this object (imprecise), then
 	 * appends it to the supplied region.
-	 * 
+	 *
 	 * @param fdc a parameter block specifying drawing-related information
 	 * @param region a region to which additional damage areas will be added
 	 */
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
index c4ab18d..a5a96f2 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/FigureDrawContext.java
@@ -26,7 +26,7 @@
 	public GC gc = null;
 	public int xOffset = 0, yOffset = 0; // substract to get GC coords
 	public int xScale = 1, yScale = 1;
-	
+
 	public Rectangle toClientRectangle(int x1, int y1, int x2, int y2) {
 		return new Rectangle(
 			Math.min(x1, x2) * xScale - xOffset,
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
index 292cd29..0624ad2 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineFigure.java
@@ -23,7 +23,7 @@
 	/**
 	 * Constructs a Line
 	 * These objects are defined by their two end-points.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param lineStyle the line style for this object
 	 * @param x1 the virtual X coordinate of the first end-point
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java
index 6d5a050..9ef0c51 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/LineTool.java
@@ -21,7 +21,7 @@
 
 	/**
 	 * Constructs a LineTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -29,20 +29,20 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
 	public void set(ToolSettings toolSettings) {
 		settings = toolSettings;
 	}
-	
+
 	/**
 	 * Returns name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
index e37b8fe..1594541 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintExample.java
@@ -75,11 +75,11 @@
 	static final int Dot_linestyle = 13;
 	static final int DashDot_linestyle = 14;
 	static final int Font_options = 15;
-	
+
 	static final int Default_tool = Pencil_tool;
 	static final int Default_fill = None_fill;
 	static final int Default_linestyle = Solid_linestyle;
-	
+
 	public static final Tool[] tools = {
 		new Tool(Pencil_tool, "Pencil", "tool", SWT.RADIO),
 		new Tool(Airbrush_tool, "Airbrush", "tool", SWT.RADIO),
@@ -102,7 +102,7 @@
 	/**
 	 * Creates an instance of a PaintExample embedded inside
 	 * the supplied parent Composite.
-	 * 
+	 *
 	 * @param parent the container of the example
 	 */
 	public PaintExample(Composite parent) {
@@ -134,7 +134,7 @@
 		}
 		instance.dispose();
 	}
-	
+
 	/**
 	 * Creates the toolbar.
 	 * Note: Only called by standalone.
@@ -199,7 +199,7 @@
 		GridLayout gridLayout;
 		GridData gridData;
 
-		/*** Create principal GUI layout elements ***/		
+		/*** Create principal GUI layout elements ***/
 		Composite displayArea = new Composite(parent, SWT.NONE);
 		gridLayout = new GridLayout();
 		gridLayout.numColumns = 1;
@@ -211,14 +211,14 @@
 		// instantiate all of the non-GUI application elements to satisfy referential
 		// dependencies.  It is possible to reorder the initialization to some extent, but
 		// this can be very tedious.
-		
+
 		// paint canvas
 		final Canvas paintCanvas = new Canvas(displayArea, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL |
 			SWT.NO_REDRAW_RESIZE | SWT.NO_BACKGROUND);
 		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
 		paintCanvas.setLayoutData(gridData);
 		paintCanvas.setBackground(paintColorWhite);
-		
+
 		// color selector frame
 		final Composite colorFrame = new Composite(displayArea, SWT.NONE);
 		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
@@ -234,7 +234,7 @@
 		gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
 		statusText.setLayoutData(gridData);
 
-		/*** Create the remaining application elements inside the principal GUI layout elements ***/	
+		/*** Create the remaining application elements inside the principal GUI layout elements ***/
 		// paintSurface
 		paintSurface = new PaintSurface(paintCanvas, statusText, paintColorWhite);
 
@@ -248,7 +248,7 @@
 		tools[Ellipse_tool].data = new EllipseTool(toolSettings, paintSurface);
 		tools[Text_tool].data = new TextTool(toolSettings, paintSurface);
 
-		// colorFrame		
+		// colorFrame
 		gridLayout = new GridLayout();
 		gridLayout.numColumns = 3;
 		gridLayout.marginHeight = 0;
@@ -277,8 +277,8 @@
 			@Override
 			public void handleEvent(Event e) {
 				Rectangle bounds = paletteCanvas.getClientArea();
-				Color color = getColorAt(bounds, e.x, e.y);				
-					
+				Color color = getColorAt(bounds, e.x, e.y);
+
 				if (e.button == 1) setForegroundColor(color);
 				else setBackgroundColor(color);
 			}
@@ -306,7 +306,7 @@
 		paletteCanvas.addListener(SWT.Resize, refreshListener);
 		paletteCanvas.addListener(SWT.Paint, refreshListener);
 		//paletteCanvas.redraw();
-		
+
 		// toolSettingsFrame
 		gridLayout = new GridLayout();
 		gridLayout.numColumns = 4;
@@ -346,13 +346,13 @@
 			}
 		});
 	}
-		
+
 	/**
 	 * Disposes of all resources associated with a particular
 	 * instance of the PaintExample.
-	 */	
+	 */
 	public void dispose() {
-		if (paintSurface != null) paintSurface.dispose();		
+		if (paintSurface != null) paintSurface.dispose();
 		if (paintColors != null) {
 			for (int i = 0; i < paintColors.length; ++i) {
 				final Color color = paintColors[i];
@@ -376,16 +376,16 @@
 			tool.image = null;
 		}
 	}
-	
+
 	/**
 	 * Returns the Display.
-	 * 
+	 *
 	 * @return the display we're using
 	 */
 	public Display getDisplay() {
 		return mainComposite.getDisplay();
 	}
-	
+
 	/**
 	 * Gets a string from the resource bundle.
 	 * We don't want to crash because of a missing String.
@@ -398,7 +398,7 @@
 			return key;
 		} catch (NullPointerException e) {
 			return "!" + key + "!";
-		}			
+		}
 	}
 
 	/**
@@ -421,10 +421,10 @@
 	 */
 	private void init() {
 		Display display = mainComposite.getDisplay();
-		
+
 		paintColorWhite = new Color(display, 255, 255, 255);
 		paintColorBlack = new Color(display, 0, 0, 0);
-		
+
 		paintDefaultFont = display.getSystemFont();
 
 		paintColors = new Color[numPaletteCols * numPaletteRows];
@@ -516,10 +516,10 @@
 	public void setFocus() {
 		mainComposite.setFocus();
 	}
-	
+
 	/**
 	 * Sets the tool foreground color.
-	 * 
+	 *
 	 * @param color the new color to use
 	 */
 	public void setForegroundColor(Color color) {
@@ -531,7 +531,7 @@
 
 	/**
 	 * Set the tool background color.
-	 * 
+	 *
 	 * @param color the new color to use
 	 */
 	public void setBackgroundColor(Color color) {
@@ -549,14 +549,14 @@
 		paintSurface.setPaintSession(paintTool);
 		updateToolSettings();
 	}
-	
+
 	/**
 	 * Selects a filltype given its ID.
 	 */
 	public void setFillType(int id) {
 		Integer fillType = (Integer) tools[id].data;
 		toolSettings.commonFillType = fillType.intValue();
-		updateToolSettings();		
+		updateToolSettings();
 	}
 
 	/**
@@ -565,7 +565,7 @@
 	public void setLineStyle(int id) {
 		Integer lineType = (Integer) tools[id].data;
 		toolSettings.commonLineStyle = lineType.intValue();
-		updateToolSettings();		
+		updateToolSettings();
 	}
 
 	/**
@@ -587,7 +587,7 @@
 	private void updateToolSettings() {
 		final PaintTool activePaintTool = paintSurface.getPaintTool();
 		if (activePaintTool == null) return;
-		
+
 		activePaintTool.endSession();
 		activePaintTool.set(toolSettings);
 		activePaintTool.beginSession();
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java
index 2fa86f5..c562166 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintSession.java
@@ -17,41 +17,41 @@
  * Manages an interactive paint session.
  * Note that the coordinates received via the listener interfaces are virtualized to zero-origin
  * relative to the painting surface.
- */ 
+ */
 public interface PaintSession extends MouseListener, MouseMoveListener {
 	/**
 	 * Returns the paint surface associated with this paint session
-	 * 
+	 *
 	 * @return the associated PaintSurface
 	 */
 	public PaintSurface getPaintSurface();
 
 	/**
 	 * Activates the session.
-	 * 
+	 *
 	 * Note: When overriding this method, call super.beginSession() at method start.
 	 */
 	public abstract void beginSession();
-	
+
 	/**
 	 * Deactivates the session.
      *
 	 * Note: When overriding this method, call super.endSession() at method exit.
      */
 	public abstract void endSession();
-	
+
 	/**
 	 * Resets the session.
 	 * Aborts any operation in progress.
-	 * 
+	 *
 	 * Note: When overriding this method, call super.resetSession() at method exit.
 	 */
 	public abstract void resetSession();
-	
-	
+
+
 	/**
 	 * Returns the name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	public String getDisplayName();
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
index ad5614e..063f981 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PaintTool.java
@@ -13,7 +13,7 @@
 public interface PaintTool extends PaintSession {
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	public void set(ToolSettings toolSettings);
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java
index 6a8a6b8..ad39e13 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PencilTool.java
@@ -18,10 +18,10 @@
  */
 public class PencilTool extends ContinuousPaintSession implements PaintTool {
 	private ToolSettings settings;
-	
+
 	/**
 	 * Constructs a pencil tool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param getPaintSurface() the PaintSurface we will render on.
 	 */
@@ -29,10 +29,10 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
@@ -42,7 +42,7 @@
 
 	/**
 	 * Returns the name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
index a7e60e3..fa0b9f3 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PointFigure.java
@@ -21,7 +21,7 @@
 	private int x, y;
 	/**
 	 * Constructs a Point
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param x the virtual X coordinate of the first end-point
 	 * @param y the virtual Y coordinate of the first end-point
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
index 6c3a8b3..8dccbd7 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/PolyLineTool.java
@@ -21,7 +21,7 @@
 
 	/**
 	 * Constructs a PolyLineTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -29,10 +29,10 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
@@ -42,7 +42,7 @@
 
 	/**
 	 * Returns the name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
index af190ba..85adec5 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleFigure.java
@@ -23,7 +23,7 @@
 	/**
 	 * Constructs a Rectangle
 	 * These objects are defined by any two diametrically opposing corners.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param lineStyle the line style for this object
 	 * @param x1 the virtual X coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
index b457d4f..cdbc28b 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RectangleTool.java
@@ -21,7 +21,7 @@
 
 	/**
 	 * Constructs a RectangleTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -29,20 +29,20 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
 	public void set(ToolSettings toolSettings) {
 		settings = toolSettings;
 	}
-	
+
 	/**
 	 * Returns name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
index 686ca65..7d5a018 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleFigure.java
@@ -23,7 +23,7 @@
 	/**
 	 * Constructs a Rectangle
 	 * These objects are defined by any two diametrically opposing corners.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param lineStyle the line style for this object
 	 * @param x1 the virtual X coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
index 0322ed9..521052b 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/RoundedRectangleTool.java
@@ -21,7 +21,7 @@
 
 	/**
 	 * Constructs a RoundedRectangleTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -29,20 +29,20 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
 	public void set(ToolSettings toolSettings) {
 		settings = toolSettings;
 	}
-	
+
 	/**
 	 * Returns name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
index 9e76f43..8c3484b 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SegmentedPaintSession.java
@@ -39,7 +39,7 @@
 
 	/**
 	 * Constructs a PaintSession.
-	 * 
+	 *
 	 * @param paintSurface the drawing surface to use
 	 */
 	protected SegmentedPaintSession(PaintSurface paintSurface) {
@@ -57,7 +57,7 @@
 		currentFigure = null;
 		controlPoints.clear();
 	}
-	
+
 	/**
 	 * Deactivates the tool.
      */
@@ -66,7 +66,7 @@
 		getPaintSurface().clearRubberbandSelection();
 		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
 	}
-	
+
 	/**
 	 * Resets the tool.
 	 * Aborts any operation in progress.
@@ -75,7 +75,7 @@
 	public void resetSession() {
 		getPaintSurface().clearRubberbandSelection();
 		if (previousFigure != null) getPaintSurface().drawFigure(previousFigure);
-		
+
 		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
 			"session.SegmentedInteractivePaint.message.anchorMode"));
 		previousFigure = null;
@@ -85,7 +85,7 @@
 
 	/**
 	 * Handles a mouseDown event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -105,7 +105,7 @@
 
 	/**
 	 * Handles a mouseDoubleClick event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -122,7 +122,7 @@
 
 	/**
 	 * Handles a mouseUp event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -132,10 +132,10 @@
 			return;
 		}
 	}
-	
+
 	/**
 	 * Handles a mouseMove event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -152,11 +152,11 @@
 		points[controlPoints.size()] = ps.getCurrentPosition();
 		currentFigure = createFigure(points, points.length, false);
 		ps.addRubberbandSelection(currentFigure);
-	}	
+	}
 
 	/**
 	 * Template Method: Creates a Figure for drawing rubberband entities and the final product
-	 * 
+	 *
 	 * @param points the array of control points
 	 * @param numPoints the number of valid points in the array (n >= 2)
 	 * @param closed true if the user double-clicked on the final control point
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
index addaec6..a4b6685 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidEllipseFigure.java
@@ -23,7 +23,7 @@
 	 * Constructs a SolidEllipse
 	 * These objects are defined by any two diametrically opposing corners of a box
 	 * bounding the ellipse.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param x1 the virtual X coordinate of the first corner
 	 * @param y1 the virtual Y coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
index b801f60..51d81d4 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidPolygonFigure.java
@@ -22,7 +22,7 @@
 	/**
 	 * Constructs a SolidPolygon
 	 * These objects are defined by a sequence of vertices.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param vertices the array of vertices making up the polygon
 	 * @param numPoint the number of valid points in the array (n >= 3)
@@ -55,7 +55,7 @@
 			if (points[i] > xmax) xmax = points[i];
 			if (points[i+1] < ymin) ymin = points[i+1];
 			if (points[i+1] > ymax) ymax = points[i+1];
-		}		
+		}
 		region.add(fdc.toClientRectangle(xmin, ymin, xmax, ymax));
 	}
 }
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
index b6ef817..bb399fc 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRectangleFigure.java
@@ -22,7 +22,7 @@
 	/**
 	 * Constructs a SolidRectangle
 	 * These objects are defined by any two diametrically opposing corners.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param x1 the virtual X coordinate of the first corner
 	 * @param y1 the virtual Y coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
index d633697..f393301 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/SolidRoundedRectangleFigure.java
@@ -22,7 +22,7 @@
 	/**
 	 * Constructs a SolidRectangle
 	 * These objects are defined by any two diametrically opposing corners.
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param x1 the virtual X coordinate of the first corner
 	 * @param y1 the virtual Y coordinate of the first corner
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java
index 2fd9bd1..ae6a299 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextFigure.java
@@ -23,7 +23,7 @@
 	private int x, y;
 	/**
 	 * Constructs a TextFigure
-	 * 
+	 *
 	 * @param color the color for this object
 	 * @param font  the font for this object
 	 * @param text  the text to draw, tab and new-line expansion is performed
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
index feb3318..2bf75e2 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/TextTool.java
@@ -33,7 +33,7 @@
 
 	/**
 	 * Constructs a PaintTool.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 * @param paintSurface the PaintSurface we will render on.
 	 */
@@ -41,27 +41,27 @@
 		super(paintSurface);
 		set(toolSettings);
 	}
-	
+
 	/**
 	 * Sets the tool's settings.
-	 * 
+	 *
 	 * @param toolSettings the new tool settings
 	 */
 	@Override
 	public void set(ToolSettings toolSettings) {
 		settings = toolSettings;
 	}
-	
+
 	/**
 	 * Returns name associated with this tool.
-	 * 
+	 *
 	 * @return the localized name of this tool
 	 */
 	@Override
 	public String getDisplayName() {
 		return PaintExample.getResourceString("tool.Text.label");
 	}
-	
+
 	/**
 	 * Activates the tool.
 	 */
@@ -70,7 +70,7 @@
 		getPaintSurface().setStatusMessage(PaintExample.getResourceString(
 			"session.Text.message"));
 	}
-	
+
 	/**
 	 * Deactivates the tool.
      */
@@ -78,7 +78,7 @@
 	public void endSession() {
 		getPaintSurface().clearRubberbandSelection();
 	}
-	
+
 	/**
 	 * Aborts the current operation.
 	 */
@@ -86,10 +86,10 @@
 	public void resetSession() {
 		getPaintSurface().clearRubberbandSelection();
 	}
-	
+
 	/**
 	 * Handles a mouseDown event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -141,12 +141,12 @@
 			while (! shell.isDisposed() && ! dialog.isDisposed()) {
 				if (! display.readAndDispatch()) display.sleep();
 			}
-		}	
+		}
 	}
 
 	/**
 	 * Handles a mouseDoubleClick event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
@@ -155,16 +155,16 @@
 
 	/**
 	 * Handles a mouseUp event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
 	public void mouseUp(MouseEvent event) {
 	}
-	
+
 	/**
 	 * Handles a mouseMove event.
-	 * 
+	 *
 	 * @param event the mouse event detail information
 	 */
 	@Override
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
index 5b51ce2..8318782 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/Tool.java
@@ -20,7 +20,7 @@
 	public Runnable action;
 	public Image image = null;
 	public Object data;
-	
+
 	public Tool(int id, String name, String group, int type) {
 		super();
 		this.id = id;
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java
index b69bedc..ee998e7 100644
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/paint/ToolSettings.java
@@ -44,17 +44,17 @@
 	 * commonLineStyle: current line type
 	 */
 	public int commonLineStyle = SWT.LINE_SOLID;
-	
+
 	/**
 	 * airbrushRadius: coverage radius in pixels
 	 */
 	public int airbrushRadius = 10;
-	
+
 	/**
 	 * airbrushIntensity: average surface area coverage in region defined by radius per "jot"
 	 */
 	public int airbrushIntensity = 30;
-	
+
 	/**
 	 * roundedRectangleCornerDiameter: the diameter of curvature of corners in a rounded rectangle
 	 */