CleanUp

Change-Id: I89e037c60b84757fcbeb5d5c1331c92c274a00c9
diff --git a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
index 8e858ff..79a966b 100644
--- a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
+++ b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/CodeGenerationTemplatesConfigurationBlock.java
@@ -412,8 +412,6 @@
 			this.fGroup.getStructuredViewer().refresh();
 			updateSourceViewerInput(this.fGroup.getSingleItem(this.fGroup.getSelectedItems()));
 			
-		} catch (final FileNotFoundException e) {
-			openReadErrorDialog(e);
 		} catch (final IOException e) {
 			openReadErrorDialog(e);
 		}
diff --git a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/TaskTagsConfigurationBlock.java b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/TaskTagsConfigurationBlock.java
index 40a58ef..d315b9e 100644
--- a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/TaskTagsConfigurationBlock.java
+++ b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/internal/ide/ui/preferences/TaskTagsConfigurationBlock.java
@@ -126,7 +126,7 @@
 			final Composite table = createTable(composite);
 			table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 			
-			this.listButtons = new ButtonGroup<TaskTag>(composite) {
+			this.listButtons = new ButtonGroup<>(composite) {
 				@Override
 				protected TaskTag edit1(final TaskTag item, final boolean newItem, final Object parent) {
 					final TaskTagsInputDialog dialog = new TaskTagsInputDialog(getShell(), item, newItem, TaskTagsConfigurationBlock.this.list);
diff --git a/r/org.eclipse.statet.ide.ui/srcECommons/org/eclipse/statet/ecommons/workbench/search/ui/TextSearchLabelUtil.java b/r/org.eclipse.statet.ide.ui/srcECommons/org/eclipse/statet/ecommons/workbench/search/ui/TextSearchLabelUtil.java
index cd6571d..7788fa9 100644
--- a/r/org.eclipse.statet.ide.ui/srcECommons/org/eclipse/statet/ecommons/workbench/search/ui/TextSearchLabelUtil.java
+++ b/r/org.eclipse.statet.ide.ui/srcECommons/org/eclipse/statet/ecommons/workbench/search/ui/TextSearchLabelUtil.java
@@ -114,7 +114,7 @@
 		
 		if (idx < lineText.length()) {
 			if (lineText.length() - idx < MIN_SHOWN_CONTEXT + 10) {
-				text.append(lineText.substring(idx, lineText.length()));
+				text.append(lineText.substring(idx));
 			}
 			else {
 				text.append(lineText.substring(
diff --git a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/internal/nico/core/ResourceMappingManager.java b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/internal/nico/core/ResourceMappingManager.java
index dce25cd..c14680b 100644
--- a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/internal/nico/core/ResourceMappingManager.java
+++ b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/internal/nico/core/ResourceMappingManager.java
@@ -63,7 +63,7 @@
 	private static final String REMOTE_KEY= "remote.path"; //$NON-NLS-1$
 	
 	
-	public static final Comparator<IResourceMapping> DEFAULT_COMPARATOR= new Comparator<IResourceMapping>() {
+	public static final Comparator<IResourceMapping> DEFAULT_COMPARATOR= new Comparator<>() {
 		
 		@Override
 		public int compare(final IResourceMapping o1, final IResourceMapping o2) {
@@ -76,7 +76,7 @@
 		
 	};
 	
-	private static final Comparator<IResourceMapping> LOCAL_COMPARATOR= new Comparator<IResourceMapping>() {
+	private static final Comparator<IResourceMapping> LOCAL_COMPARATOR= new Comparator<>() {
 		
 		@Override
 		public int compare(final IResourceMapping o1, final IResourceMapping o2) {
@@ -85,7 +85,7 @@
 		
 	};
 	
-	private static final Comparator<IResourceMapping> REMOTE_COMPARATOR= new Comparator<IResourceMapping>() {
+	private static final Comparator<IResourceMapping> REMOTE_COMPARATOR= new Comparator<>() {
 		
 		@Override
 		public int compare(final IResourceMapping o1, final IResourceMapping o2) {
diff --git a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/ToolProcess.java b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/ToolProcess.java
index d3b0da7..3933071 100644
--- a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/ToolProcess.java
+++ b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/ToolProcess.java
@@ -198,7 +198,7 @@
 		if (post2 - pre2 < 10) {
 			return path;
 		}
-		return path.substring(0, pre2) + " ... " + path.substring(post2, path.length()); //$NON-NLS-1$
+		return path.substring(0, pre2) + " ... " + path.substring(post2); //$NON-NLS-1$
 	}
 	
 	private int prevPathSeperator(final String path, final int offset) {
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/LocalTaskTransfer.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/LocalTaskTransfer.java
index 4491610..58b1321 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/LocalTaskTransfer.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/LocalTaskTransfer.java
@@ -39,7 +39,7 @@
 	// First attempt to create a UUID for the type name to make sure that
 	// different Eclipse applications use different "types" of
 	// <code>LocalTaskTransfer</code>
-	private static final String TYPE_NAME= "org.eclipse.statet.nico-task-transfer-format" + (new Long(System.currentTimeMillis())).toString(); //$NON-NLS-1$;
+	private static final String TYPE_NAME= "org.eclipse.statet.nico-task-transfer-format" + Long.toString(System.currentTimeMillis()); //$NON-NLS-1$;
 	
 	private static final int TYPEID= registerType(TYPE_NAME);
 	
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/NIConsolePartitioner.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/NIConsolePartitioner.java
index 4394fe2..c470ee4 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/NIConsolePartitioner.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/console/NIConsolePartitioner.java
@@ -549,10 +549,7 @@
 			try {
 				jobManager.join(NIConsolePartitioner.this.console, monitor);
 			}
-			catch (final OperationCanceledException e1) {
-				return Status.CANCEL_STATUS;
-			}
-			catch (final InterruptedException e1) {
+			catch (final OperationCanceledException | InterruptedException e1) {
 				return Status.CANCEL_STATUS;
 			}
 			if (NIConsolePartitioner.this.document == null) {
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ResourceMappingPreferencePage.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ResourceMappingPreferencePage.java
index 43f3bbe..3619efc 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ResourceMappingPreferencePage.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ResourceMappingPreferencePage.java
@@ -113,7 +113,7 @@
 			final Composite table= createTable(composite);
 			table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
 			
-			this.listButtons= new ButtonGroup<ResourceMapping>(composite) {
+			this.listButtons= new ButtonGroup<>(composite) {
 				@Override
 				protected @Nullable ResourceMapping edit1(final @Nullable ResourceMapping item, final boolean newItem, final @Nullable Object parent) {
 					final EditMappingDialog dialog= new EditMappingDialog(getShell(), item, newItem);
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/ConsolePageEditor.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/ConsolePageEditor.java
index c94cc2d..2b44f0f 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/ConsolePageEditor.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/ConsolePageEditor.java
@@ -88,14 +88,14 @@
 import org.eclipse.statet.internal.nico.ui.console.PromptHighlighter;
 import org.eclipse.statet.internal.nico.ui.preferences.ConsolePreferences;
 import org.eclipse.statet.ltk.model.core.element.SourceUnit;
-import org.eclipse.statet.ltk.ui.sourceediting.SourceEditor;
 import org.eclipse.statet.ltk.ui.sourceediting.ISourceEditorCommandIds;
-import org.eclipse.statet.ltk.ui.sourceediting.TextEditToolSynchronizer;
+import org.eclipse.statet.ltk.ui.sourceediting.SourceEditor;
 import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfiguration;
 import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfigurator;
 import org.eclipse.statet.ltk.ui.sourceediting.StructureSelectHandler;
 import org.eclipse.statet.ltk.ui.sourceediting.StructureSelectionHistory;
 import org.eclipse.statet.ltk.ui.sourceediting.StructureSelectionHistoryBackHandler;
+import org.eclipse.statet.ltk.ui.sourceediting.TextEditToolSynchronizer;
 import org.eclipse.statet.ltk.ui.sourceediting.actions.CutLineHandler;
 import org.eclipse.statet.ltk.ui.sourceediting.actions.CutToLineBeginHandler;
 import org.eclipse.statet.ltk.ui.sourceediting.actions.CutToLineEndHandler;
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/views/HistoryView.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/views/HistoryView.java
index c082961..3ceb13e 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/views/HistoryView.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/views/HistoryView.java
@@ -42,7 +42,6 @@
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.DragSource;
 import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.SelectionEvent;
@@ -589,7 +588,7 @@
 		contributeToActionBars();
 		
 		final DragSource dragSource = new DragSource(this.fTable, DND.DROP_COPY);
-		dragSource.setTransfer(new Transfer[] { TextTransfer.getInstance() });
+		dragSource.setTransfer(TextTransfer.getInstance());
 		dragSource.addDragListener(new HistoryDragAdapter(this));
 		
 		// listen on console changes
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
index 07925fa..be0520c 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
@@ -267,11 +267,7 @@
 					registry= new RMIRegistry(registryAddress, true);
 					requireCodebase= true;
 				}
-				catch (final NumberFormatException e) {
-					throw new CoreException(new Status(IStatus.ERROR, RConsoleUIPlugin.BUNDLE_ID, 0,
-							"The registry port specified by 'org.eclipse.statet.r.console.rmiRegistryPort' is invalid.", e ));
-				}
-				catch (final MalformedURLException e) {
+				catch (final NumberFormatException | MalformedURLException e) {
 					throw new CoreException(new Status(IStatus.ERROR, RConsoleUIPlugin.BUNDLE_ID, 0,
 							"The registry port specified by 'org.eclipse.statet.r.console.rmiRegistryPort' is invalid.", e ));
 				}
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RRemoteConsoleLaunchDelegate.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RRemoteConsoleLaunchDelegate.java
index 0c0299c..9edae2f 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RRemoteConsoleLaunchDelegate.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RRemoteConsoleLaunchDelegate.java
@@ -402,11 +402,7 @@
 					}
 				}
 			}
-			catch (final UnknownHostException e) {
-				throw new CoreException(new Status(IStatus.ERROR, RConsoleUIPlugin.BUNDLE_ID, 0,
-						Messages.LaunchDelegate_error_InvalidAddress_message, e ));
-			}
-			catch (final MalformedURLException e) {
+			catch (final UnknownHostException | MalformedURLException e) {
 				throw new CoreException(new Status(IStatus.ERROR, RConsoleUIPlugin.BUNDLE_ID, 0,
 						Messages.LaunchDelegate_error_InvalidAddress_message, e ));
 			}
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgScanner.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgScanner.java
index d369ea4..9cff11b 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgScanner.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgScanner.java
@@ -224,7 +224,7 @@
 	}
 	
 	
-	private final BasicRPkgCompilation<IRPkgData> expectedPkgs= new BasicRPkgCompilation<IRPkgData>(4) {
+	private final BasicRPkgCompilation<IRPkgData> expectedPkgs= new BasicRPkgCompilation<>(4) {
 		@Override
 		protected RPkgList<IRPkgData> newPkgList() {
 			return new RPkgListImpl<>(4);
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/RModelIndex.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/RModelIndex.java
index 3b3b8a8..53440e6 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/RModelIndex.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/RModelIndex.java
@@ -864,10 +864,7 @@
 				}
 			}
 		}
-		catch (final SQLException e) {
-			onDbToolsError(e);
-		}
-		catch (final IOException e) {
+		catch (final SQLException | IOException e) {
 			onDbToolsError(e);
 		}
 		finally {
@@ -908,10 +905,7 @@
 								elements.put(su.getId(), unitElement);
 							}
 						}
-						catch (final IOException e) {
-							onDbReadError(e);
-						}
-						catch (final ClassNotFoundException e) {
+						catch (final IOException | ClassNotFoundException e) {
 							onDbReadError(e);
 						}
 						finally {
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SourceAnalyzer.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SourceAnalyzer.java
index 71a594d..ba969eb 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SourceAnalyzer.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SourceAnalyzer.java
@@ -126,7 +126,7 @@
 	
 	
 	@SuppressWarnings("rawtypes")
-	private static final Comparator<SourceStructElement> SOURCEELEMENT_SORTER= new Comparator<SourceStructElement>() {
+	private static final Comparator<SourceStructElement> SOURCEELEMENT_SORTER= new Comparator<>() {
 		@Override
 		public int compare(final SourceStructElement e1, final SourceStructElement e2) {
 			return e1.getSourceRange().getStartOffset() - e2.getSourceRange().getStartOffset();
@@ -590,8 +590,7 @@
 			
 			return modelInfo;
 		}
-		catch (final OperationCanceledException e) {}
-		catch (final InvocationTargetException e) {}
+		catch (final OperationCanceledException | InvocationTargetException e) {}
 		finally {
 			cleanup();
 			this.sourceUnit= null;
@@ -622,8 +621,7 @@
 				leaveElement();
 			}
 		}
-		catch (final OperationCanceledException e) {}
-		catch (final InvocationTargetException e) {}
+		catch (final OperationCanceledException | InvocationTargetException e) {}
 	}
 	
 	public void processInlineNode(final EmbeddedRBuildElement element, final SourceComponent sourceComponent) {
@@ -634,8 +632,7 @@
 			sourceComponent.acceptInRChildren(this);
 			leaveElement();
 		}
-		catch (final OperationCanceledException e) {}
-		catch (final InvocationTargetException e) {}
+		catch (final OperationCanceledException | InvocationTargetException e) {}
 	}
 	
 	public RSourceUnitModelInfo stopChunkSession() {
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SyntaxProblemReporter.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SyntaxProblemReporter.java
index 5460c44..a13d6b8 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SyntaxProblemReporter.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/sourcemodel/SyntaxProblemReporter.java
@@ -163,8 +163,7 @@
 				this.currentRequestor.acceptProblems(RModel.R_TYPE_ID, this.problemBuffer);
 			}
 		}
-		catch (final OperationCanceledException e) {}
-		catch (final InvocationTargetException e) {}
+		catch (final OperationCanceledException | InvocationTargetException e) {}
 		finally {
 			this.problemBuffer.clear();
 			this.sourceUnit= null;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElement.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElement.java
index 1bbd342..30cdadf 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElement.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElement.java
@@ -46,7 +46,7 @@
 	static final int R_DOC_EXAMPLE_CHUNK=      C2_SOURCE_CHUNK | 0x4;
 	
 	
-	static final LtkModelElementFilter<RElement<?>> R_S4SLOT_FILTER= new LtkModelElementFilter<RElement<?>>() {
+	static final LtkModelElementFilter<RElement<?>> R_S4SLOT_FILTER= new LtkModelElementFilter<>() {
 		@Override
 		public boolean include(final RElement<?> element) {
 			return (element.getElementType() == R_S4SLOT);
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementAccess.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementAccess.java
index 35f17a2..0c7d2ed 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementAccess.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementAccess.java
@@ -35,7 +35,7 @@
 	
 	
 	public static final Comparator<RElementAccess> NAME_POSITION_COMPARATOR=
-		new Comparator<RElementAccess>() {
+		new Comparator<>() {
 			private int comparePosition(final @Nullable RAstNode node1, final @Nullable RAstNode node2) {
 				if (node1 == node2) {
 					return 0;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementName.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementName.java
index 9f4d48b..97ccaf5 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementName.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RElementName.java
@@ -454,7 +454,7 @@
 	
 	private static final Collator NAME_COLLATOR= RSymbolComparator.R_NAMES_COLLATOR;
 	
-	public static final Comparator<ElementName> NAMEONLY_COMPARATOR= new Comparator<ElementName>() {
+	public static final Comparator<ElementName> NAMEONLY_COMPARATOR= new Comparator<>() {
 		
 		@Override
 		public int compare(ElementName o1, ElementName o2) {
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RGraphicFunctions.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RGraphicFunctions.java
index 3a1043f..19af34d 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RGraphicFunctions.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/model/RGraphicFunctions.java
@@ -34,9 +34,9 @@
 import org.eclipse.statet.r.core.rsource.ast.FCall;
 import org.eclipse.statet.r.core.rsource.ast.NSGet;
 import org.eclipse.statet.r.core.rsource.ast.NodeType;
+import org.eclipse.statet.r.core.rsource.ast.RAstNode;
 import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.rsource.ast.RAsts.FCallArgMatch;
-import org.eclipse.statet.r.core.rsource.ast.RAstNode;
 
 
 @NonNullByDefault
@@ -919,7 +919,6 @@
 					final int blue= Integer.parseInt(s.substring(5, 7), 16);
 					return new ColorDef(red, green, blue);
 				}
-				catch (final NumberFormatException e) {}
 				catch (final IllegalArgumentException e) {}
 				return null;
 			}
@@ -931,7 +930,6 @@
 					final int alpha= Integer.parseInt(s.substring(7, 9), 16);
 					return new ColorAlphaDef(new ColorDef(red, green, blue), alpha);
 				}
-				catch (final NumberFormatException e) {}
 				catch (final IllegalArgumentException e) {}
 				return null;
 			}
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractFunctionRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractFunctionRefactoring.java
index c5ae5c1..b69742e 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractFunctionRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractFunctionRefactoring.java
@@ -196,7 +196,7 @@
 	 */
 	public ExtractFunctionRefactoring(final RSourceUnit su, final TextRegion selection) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (selection != null && selection.getStartOffset() >= 0 && selection.getLength() >= 0) {
 			this.selectionRegion= selection;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractTempRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractTempRefactoring.java
index 2a83513..04c4da8 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractTempRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/ExtractTempRefactoring.java
@@ -109,7 +109,7 @@
 	 */
 	public ExtractTempRefactoring(final RSourceUnit su, final TextRegion region) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (region != null && region.getStartOffset() >= 0 && region.getLength() >= 0) {
 			this.selectionRegion= region;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/FunctionToS4MethodRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/FunctionToS4MethodRefactoring.java
index 766a778..d6e2355 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/FunctionToS4MethodRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/FunctionToS4MethodRefactoring.java
@@ -143,7 +143,7 @@
 	 */
 	public FunctionToS4MethodRefactoring(final RSourceUnit su, final TextRegion selection) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (selection != null && selection.getStartOffset() >= 0 && selection.getLength() >= 0) {
 			this.selectionRegion= selection;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/InlineTempRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/InlineTempRefactoring.java
index a910f5d..619ca07 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/InlineTempRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/InlineTempRefactoring.java
@@ -88,7 +88,7 @@
 	 */
 	public InlineTempRefactoring(final RSourceUnit su, final TextRegion region) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		this.selectionRegion= (region != null && region.getStartOffset() >= 0 && region.getLength() >= 0) ?
 				region : null;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInRegionRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInRegionRefactoring.java
index eb30dad..14df365 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInRegionRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInRegionRefactoring.java
@@ -188,7 +188,7 @@
 	 */
 	public RenameInRegionRefactoring(final RSourceUnit su, final TextRegion region) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (region != null && region.getStartOffset() >= 0 && region.getLength() >= 0) {
 			this.selectionRegion= region;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInWorkspaceRefactoring.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInWorkspaceRefactoring.java
index 8bdcca7..6589b1b 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInWorkspaceRefactoring.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/refactoring/RenameInWorkspaceRefactoring.java
@@ -140,7 +140,7 @@
 	 */
 	public RenameInWorkspaceRefactoring(final RWorkspaceSourceUnit su, final TextRegion region) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (region != null && region.getStartOffset() >= 0 && region.getLength() >= 0) {
 			this.selectionRegion= region;
@@ -155,7 +155,7 @@
 	 */
 	public RenameInWorkspaceRefactoring(final RWorkspaceSourceUnit su, final RAstNode node) {
 		this.sourceUnit= su;
-		this.elementSet= new ElementSet(new Object[] { su });
+		this.elementSet= new ElementSet(su);
 		
 		if (node.getNodeType() == NodeType.SYMBOL || node.getNodeType() == NodeType.STRING_CONST) {
 			this.initialSymbolNode= node;
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/rsource/ast/RAsts.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/rsource/ast/RAsts.java
index e6dc13b..5806c46 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/rsource/ast/RAsts.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/r/core/rsource/ast/RAsts.java
@@ -118,9 +118,7 @@
 		try {
 			root.accept(visitor);
 		}
-		catch (final OperationCanceledException e) {
-		}
-		catch (final InvocationTargetException e) {
+		catch (final OperationCanceledException | InvocationTargetException e) {
 		}
 		return visitor.assignment;
 	}
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/eval/ExpressionValidator.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/eval/ExpressionValidator.java
index 0c97fe3..e9c0ec2 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/eval/ExpressionValidator.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/eval/ExpressionValidator.java
@@ -28,8 +28,8 @@
 import org.eclipse.statet.ltk.issues.core.Problem;
 import org.eclipse.statet.ltk.issues.core.ProblemRequestor;
 import org.eclipse.statet.r.core.model.build.RProblemReporter;
-import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.rsource.ast.RAstNode;
+import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.rsource.ast.RParser;
 
 
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RElementValue.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RElementValue.java
index 547939b..32061c0 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RElementValue.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RElementValue.java
@@ -81,7 +81,7 @@
 		
 	}
 	
-	protected final static VariablePartitionFactory<IRIndexElementValue> PARTITION_FACTORY= new VariablePartitionFactory<IRIndexElementValue>() {
+	protected final static VariablePartitionFactory<IRIndexElementValue> PARTITION_FACTORY= new VariablePartitionFactory<>() {
 		
 		@Override
 		protected IRVariable createPartition(final IRIndexElementValue value,
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RListValue.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RListValue.java
index 402a018..c0510a7 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RListValue.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RListValue.java
@@ -51,7 +51,7 @@
 	}
 	
 	protected static final VariablePartitionFactory<IRIndexElementValue> LIST_PARTITION_FACTORY= 
-			new VariablePartitionFactory<IRIndexElementValue>() {
+			new VariablePartitionFactory<>() {
 		
 		@Override
 		protected IRVariable createPartition(final IRIndexElementValue value, final PartitionHandle partition) {
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RPromiseValue.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RPromiseValue.java
index 5d3b52d..472c46c 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RPromiseValue.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/model/RPromiseValue.java
@@ -47,7 +47,7 @@
 public class RPromiseValue extends RElementVariableValue<CombinedRElement> {
 	
 	
-	private static final RObjectAdapter<RPromiseImpl> ADAPTER= new RObjectAdapter<RPromiseImpl>(RObject.TYPE_PROMISE) {
+	private static final RObjectAdapter<RPromiseImpl> ADAPTER= new RObjectAdapter<>(RObject.TYPE_PROMISE) {
 		@Override
 		public RPromiseImpl loadObject(final FQRObjectRef ref, final RObject referenceObject,
 				final LazyRStore.Fragment<RPromiseImpl> fragment,
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/sourcelookup/RSourceLookupParticipant.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/sourcelookup/RSourceLookupParticipant.java
index 2597cb2..f0b2911 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/sourcelookup/RSourceLookupParticipant.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/sourcelookup/RSourceLookupParticipant.java
@@ -62,9 +62,9 @@
 import org.eclipse.statet.r.core.rsource.ast.Block;
 import org.eclipse.statet.r.core.rsource.ast.FDef;
 import org.eclipse.statet.r.core.rsource.ast.NodeType;
+import org.eclipse.statet.r.core.rsource.ast.RAstNode;
 import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.rsource.ast.RAsts.AssignExpr;
-import org.eclipse.statet.r.core.rsource.ast.RAstNode;
 import org.eclipse.statet.r.debug.core.sourcelookup.IRSourceContainer;
 import org.eclipse.statet.r.debug.core.sourcelookup.IRSourceLookupMatch;
 import org.eclipse.statet.r.debug.core.sourcelookup.RRuntimeSourceFragment;
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/r/debug/core/breakpoints/RLineBreakpointValidator.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/r/debug/core/breakpoints/RLineBreakpointValidator.java
index 5160971..14739d0 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/r/debug/core/breakpoints/RLineBreakpointValidator.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/r/debug/core/breakpoints/RLineBreakpointValidator.java
@@ -50,8 +50,8 @@
 import org.eclipse.statet.r.core.rsource.ast.FDef;
 import org.eclipse.statet.r.core.rsource.ast.GenericVisitor;
 import org.eclipse.statet.r.core.rsource.ast.NodeType;
-import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.rsource.ast.RAstNode;
+import org.eclipse.statet.r.core.rsource.ast.RAsts;
 import org.eclipse.statet.r.core.source.RDocumentConstants;
 import org.eclipse.statet.r.core.source.RHeuristicTokenScanner;
 import org.eclipse.statet.r.debug.core.RDebugModel;
diff --git a/r/org.eclipse.statet.r.debug.ui/src/org/eclipse/statet/r/debug/ui/actions/RToggleBreakpointAdapter.java b/r/org.eclipse.statet.r.debug.ui/src/org/eclipse/statet/r/debug/ui/actions/RToggleBreakpointAdapter.java
index 946812d..9ea7d11 100644
--- a/r/org.eclipse.statet.r.debug.ui/src/org/eclipse/statet/r/debug/ui/actions/RToggleBreakpointAdapter.java
+++ b/r/org.eclipse.statet.r.debug.ui/src/org/eclipse/statet/r/debug/ui/actions/RToggleBreakpointAdapter.java
@@ -151,8 +151,7 @@
 				}
 			});
 		}
-		catch (final InvocationTargetException e) {}
-		catch (final InterruptedException e) {}
+		catch (final InvocationTargetException | InterruptedException e) {}
 	}
 	
 	@Override
@@ -187,8 +186,7 @@
 				}
 			});
 		}
-		catch (final InvocationTargetException e) {}
-		catch (final InterruptedException e) {}
+		catch (final InvocationTargetException | InterruptedException e) {}
 	}
 	
 	@Override
@@ -229,8 +227,7 @@
 				}
 			});
 		}
-		catch (final InvocationTargetException e) {}
-		catch (final InterruptedException e) {}
+		catch (final InvocationTargetException | InterruptedException e) {}
 	}
 	
 	
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/FindManager.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/FindManager.java
index 3679814..0272388 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/FindManager.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/FindManager.java
@@ -230,8 +230,7 @@
 		try {
 			findMatch(null, new NullProgressMonitor());
 		}
-		catch (final StatusException e) {}
-		catch (final UnexpectedRDataException e) {}
+		catch (final StatusException | UnexpectedRDataException e) {}
 	}
 	
 	private void runFind(final RToolService r, final ProgressMonitor m) throws StatusException {
@@ -335,13 +334,7 @@
 			}
 			filteredCount= getFilteredCount(count, r, m);
 		}
-		catch (final StatusException e) {
-			clean(m);
-			AbstractRDataProvider.checkCancel(e);
-			mode= FIND_ERROR;
-			throw e;
-		}
-		catch (final UnexpectedRDataException e) {
+		catch (final StatusException | UnexpectedRDataException e) {
 			clean(m);
 			AbstractRDataProvider.checkCancel(e);
 			mode= FIND_ERROR;
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/GenerateRoxygenElementComment.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/GenerateRoxygenElementComment.java
index a483d66..1fd0800 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/GenerateRoxygenElementComment.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/GenerateRoxygenElementComment.java
@@ -216,10 +216,7 @@
 							LTKWorkbenchUIUtil.openEditor(workbenchWindow.getActivePage(), resource, initialSelection);
 						}
 					}
-					catch (final MalformedTreeException e) {
-						throw new InvocationTargetException(e);
-					}
-					catch (final BadLocationException e) {
+					catch (final MalformedTreeException | BadLocationException e) {
 						throw new InvocationTargetException(e);
 					}
 				}
@@ -228,10 +225,7 @@
 		catch (final InvocationTargetException e) {
 			throw new ExecutionException(RUIMessages.GenerateRoxygenElementComment_error_message, e.getCause());
 		}
-		catch (final BadLocationException e) {
-			throw new ExecutionException(RUIMessages.GenerateRoxygenElementComment_error_message, e);
-		}
-		catch (final CoreException e) {
+		catch (final BadLocationException | CoreException e) {
 			throw new ExecutionException(RUIMessages.GenerateRoxygenElementComment_error_message, e);
 		}
 		
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/RStripCommentsHandler.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/RStripCommentsHandler.java
index 6cf8add..20ad636 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/RStripCommentsHandler.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/editors/RStripCommentsHandler.java
@@ -113,10 +113,7 @@
 					try {
 						edits.apply(getDocument(), TextEdit.NONE);
 					}
-					catch (final MalformedTreeException e) {
-						throw new InvocationTargetException(e);
-					}
-					catch (final BadLocationException e) {
+					catch (final MalformedTreeException | BadLocationException e) {
 						throw new InvocationTargetException(e);
 					}
 				}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/pkgmanager/InstallPkgsWizard.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/pkgmanager/InstallPkgsWizard.java
index 80b8a15..1d34b8e 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/pkgmanager/InstallPkgsWizard.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/pkgmanager/InstallPkgsWizard.java
@@ -242,9 +242,7 @@
 				}
 			});
 		}
-		catch (final InvocationTargetException e) {
-		}
-		catch (final InterruptedException e) {
+		catch (final InvocationTargetException | InterruptedException e) {
 		}
 		return true;
 	}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/dataeditor/RDataTableViewer.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/dataeditor/RDataTableViewer.java
index 1f7a129..50d0b59 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/dataeditor/RDataTableViewer.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/dataeditor/RDataTableViewer.java
@@ -834,7 +834,7 @@
 							final ProgressMonitor m) throws StatusException {
 						final RToolService r= (RToolService) service;
 						
-						final AtomicReference<AbstractRDataProvider<?>> dataProvider= new AtomicReference<>();
+						final AtomicReference<@Nullable AbstractRDataProvider<?>> dataProvider= new AtomicReference<>();
 						Exception error= null;
 						try {
 							final RObject struct= r.evalData(input.getFullName(),
@@ -867,10 +867,7 @@
 								break;
 							}
 						}
-						catch (final CoreException e) {
-							error= e;
-						}
-						catch (final UnexpectedRDataException e) {
+						catch (final CoreException | UnexpectedRDataException e) {
 							error= e;
 						}
 						final IStatus status;
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RCorrectIndentHandler.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RCorrectIndentHandler.java
index 7431720..dfdfb47 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RCorrectIndentHandler.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RCorrectIndentHandler.java
@@ -122,10 +122,7 @@
 					try {
 						edits.apply(getDocument(), TextEdit.NONE);
 					}
-					catch (final MalformedTreeException e) {
-						throw new InvocationTargetException(e);
-					}
-					catch (final BadLocationException e) {
+					catch (final MalformedTreeException | BadLocationException e) {
 						throw new InvocationTargetException(e);
 					}
 				}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RAlphaChooser.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RAlphaChooser.java
index c516c7a..55b163a 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RAlphaChooser.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RAlphaChooser.java
@@ -96,7 +96,7 @@
 			fSelector = new AlphaSelector(composite);
 			fSelector.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2));
 			
-			{	final IObjValueListener<Double> textListener = new IObjValueListener<Double>() {
+			{	final IObjValueListener<Double> textListener = new IObjValueListener<>() {
 					@Override
 					public void valueAboutToChange(final ObjValueEvent<Double> event) {
 					}
@@ -114,7 +114,6 @@
 								setValue(value);
 							}
 						}
-						catch (final NumberFormatException e) {}
 						catch (final IllegalArgumentException e) {}
 						finally {
 							fTextChange--;
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RColorChooser.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RColorChooser.java
index 4b32c5d..87c7d88 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RColorChooser.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/graphics/RColorChooser.java
@@ -158,7 +158,7 @@
 						fSelector.setPrimary(indexOf((Button) event.widget));
 					}
 				};
-				final IObjValueListener<Integer> textListener = new IObjValueListener<Integer>() {
+				final IObjValueListener<Integer> textListener = new IObjValueListener<>() {
 					@Override
 					public void valueAboutToChange(final ObjValueEvent<Integer> event) {
 					}
@@ -178,7 +178,6 @@
 								doSetColorValue(newColor);
 							}
 						}
-						catch (final NumberFormatException e) {}
 						catch (final IllegalArgumentException e) {}
 						finally {
 							fTextChange--;
@@ -316,7 +315,7 @@
 			fSelector.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 4));
 			
 			{	final String[] fieldLabels = new String[] { "&Hue:", "&Saturation:", "&Value:" };
-				final IObjValueListener<Double> textListener = new IObjValueListener<Double>() {
+				final IObjValueListener<Double> textListener = new IObjValueListener<>() {
 					@Override
 					public void valueAboutToChange(final ObjValueEvent<Double> event) {
 					}
@@ -336,7 +335,6 @@
 								doSetColorValue(value);
 							}
 						}
-						catch (final NumberFormatException e) {}
 						catch (final IllegalArgumentException e) {}
 						finally {
 							fTextChange--;
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDoubleClickStrategy.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDoubleClickStrategy.java
index 7930fd3..8269dea 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDoubleClickStrategy.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDoubleClickStrategy.java
@@ -116,8 +116,7 @@
 				textViewer.setSelectedRange(region.getOffset(), region.getLength());
 				return;
 			}
-		} catch (final BadLocationException e) {
-		} catch (final NullPointerException e) {
+		} catch (final BadLocationException | NullPointerException e) {
 		}
 		// else
 		textViewer.setSelectedRange(offset, 0);
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdDoubleClickStrategy.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdDoubleClickStrategy.java
index 2acd3f3..e279a80 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdDoubleClickStrategy.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdDoubleClickStrategy.java
@@ -83,8 +83,7 @@
 					return;
 				}
 			}
-		} catch (final BadLocationException e) {
-		} catch (final NullPointerException e) {
+		} catch (final BadLocationException | NullPointerException e) {
 		}
 		// else
 		final IRegion region = getDefaultWordSelection(document, offset);
diff --git a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/internal/r/debug/ui/launcher/LaunchShortcutUtil.java b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/internal/r/debug/ui/launcher/LaunchShortcutUtil.java
index 626b284..841066f 100644
--- a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/internal/r/debug/ui/launcher/LaunchShortcutUtil.java
+++ b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/internal/r/debug/ui/launcher/LaunchShortcutUtil.java
@@ -106,17 +106,7 @@
 				handler.setup(document);
 				return handler.getCodeLines(document);
 			}
-			catch (final CoreException e) {
-				throw new CoreException(new Status(IStatus.ERROR, RUI.BUNDLE_ID, 0,
-						RLaunchingMessages.SubmitCode_error_WhenAnalyzingAndCollecting_message,
-						e ));
-			}
-			catch (final IOException e) {
-				throw new CoreException(new Status(IStatus.ERROR, RUI.BUNDLE_ID, 0,
-						RLaunchingMessages.SubmitCode_error_WhenAnalyzingAndCollecting_message,
-						e ));
-			}
-			catch (final BadLocationException e) {
+			catch (final CoreException | IOException | BadLocationException e) {
 				throw new CoreException(new Status(IStatus.ERROR, RUI.BUNDLE_ID, 0,
 						RLaunchingMessages.SubmitCode_error_WhenAnalyzingAndCollecting_message,
 						e ));
diff --git a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/SubmitFileViaCommandLaunchShortcut.java b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/SubmitFileViaCommandLaunchShortcut.java
index 7f089fb..0345b97 100644
--- a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/SubmitFileViaCommandLaunchShortcut.java
+++ b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/SubmitFileViaCommandLaunchShortcut.java
@@ -80,13 +80,7 @@
 			catch (final ExecutionException e) {
 				LaunchShortcutUtil.handleRLaunchException(e, RLaunchingMessages.RScriptLaunch_error_message, executionEvent); 
 			}
-			catch (final NotDefinedException e) {
-				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
-			}
-			catch (final NotEnabledException e) {
-				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
-			}
-			catch (final NotHandledException e) {
+			catch (final NotDefinedException | NotEnabledException | NotHandledException e) {
 				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
 			}
 		}
@@ -117,13 +111,7 @@
 			catch (final ExecutionException e) {
 				LaunchShortcutUtil.handleRLaunchException(e, RLaunchingMessages.RScriptLaunch_error_message, executionEvent); 
 			}
-			catch (final NotDefinedException e) {
-				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
-			}
-			catch (final NotEnabledException e) {
-				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
-			}
-			catch (final NotHandledException e) {
+			catch (final NotDefinedException | NotEnabledException | NotHandledException e) {
 				LaunchShortcutUtil.handleUnsupportedExecution(executionEvent);
 			}
 		}
diff --git a/redocs/org.eclipse.statet.redocs.tex.r.debug/src/org/eclipse/statet/internal/redocs/tex/r/ui/debug/ToggleBreakpointAdapter.java b/redocs/org.eclipse.statet.redocs.tex.r.debug/src/org/eclipse/statet/internal/redocs/tex/r/ui/debug/ToggleBreakpointAdapter.java
index 1a01d6a..b0cc0f2 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r.debug/src/org/eclipse/statet/internal/redocs/tex/r/ui/debug/ToggleBreakpointAdapter.java
+++ b/redocs/org.eclipse.statet.redocs.tex.r.debug/src/org/eclipse/statet/internal/redocs/tex/r/ui/debug/ToggleBreakpointAdapter.java
@@ -139,8 +139,7 @@
 						selection.getOffset(), false );
 				return RDocumentConstants.R_ANY_CONTENT_CONSTRAINT.matches(partition.getType());
 			}
-			catch (final BadLocationException e) {}
-			catch (final BadPartitioningException e) {}
+			catch (final BadLocationException | BadPartitioningException e) {}
 		}
 		return false;
 	}
diff --git a/redocs/org.eclipse.statet.redocs.wikitext.r.debug/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/debug/ToggleBreakpointAdapter.java b/redocs/org.eclipse.statet.redocs.wikitext.r.debug/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/debug/ToggleBreakpointAdapter.java
index 78b66e2..dd1020a 100644
--- a/redocs/org.eclipse.statet.redocs.wikitext.r.debug/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/debug/ToggleBreakpointAdapter.java
+++ b/redocs/org.eclipse.statet.redocs.wikitext.r.debug/src/org/eclipse/statet/internal/redocs/wikitext/r/ui/debug/ToggleBreakpointAdapter.java
@@ -139,8 +139,7 @@
 						selection.getOffset(), false );
 				return RDocumentConstants.R_ANY_CONTENT_CONSTRAINT.matches(partition.getType());
 			}
-			catch (final BadLocationException e) {}
-			catch (final BadPartitioningException e) {}
+			catch (final BadLocationException | BadPartitioningException e) {}
 		}
 		return false;
 	}
diff --git a/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/RHelpWebapp.java b/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/RHelpWebapp.java
index 783a0c7..49eeaec 100644
--- a/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/RHelpWebapp.java
+++ b/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/RHelpWebapp.java
@@ -116,7 +116,7 @@
 							beginIdx= endIdx + 1; // cmd
 							endIdx= path.indexOf('/', beginIdx);
 							if (endIdx == -1) {
-								switch (path.substring(beginIdx, path.length())) {
+								switch (path.substring(beginIdx)) {
 								case LIBRARY_DESCRIPTION:
 									return new RequestInfo(envId, CAT_LIBRARY,
 											PKGCMD_DESCRIPTION_RES, pkgName, null );
diff --git a/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/index/REnvIndexWriter.java b/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/index/REnvIndexWriter.java
index 9bbee1d..7e40884 100644
--- a/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/index/REnvIndexWriter.java
+++ b/rhelp/org.eclipse.statet.rhelp.core/src/org/eclipse/statet/internal/rhelp/core/index/REnvIndexWriter.java
@@ -365,7 +365,7 @@
 						}
 						else {
 							s[0]= html.substring(0, idx0);
-							s[1]= html.substring(idxBegin, html.length());
+							s[1]= html.substring(idxBegin);
 						}
 						return true;
 					}
@@ -544,10 +544,7 @@
 			this.packages= new LinkedHashMap<>();
 			this.keywordGroups= new LinkedHashMap<>();
 		}
-		catch (final IOException e) {
-			throw new AbortIndexOperationException(e);
-		}
-		catch (final OutOfMemoryError e) {
+		catch (final IOException | OutOfMemoryError e) {
 			throw new AbortIndexOperationException(e);
 		}
 	}
@@ -678,10 +675,7 @@
 			this.luceneWriter.deleteDocuments(new Term(PACKAGE_FIELD_NAME, name));
 			this.worker.addToLucene(pkgDesription);
 		}
-		catch (final IOException e) {
-			throw new AbortIndexOperationException(e);
-		}
-		catch (final OutOfMemoryError e) {
+		catch (final IOException | OutOfMemoryError e) {
 			throw new AbortIndexOperationException(e);
 		}
 	}
@@ -699,10 +693,7 @@
 					item.getTitle() ));
 			this.worker.addToLucene(item);
 		}
-		catch (final IOException e) {
-			throw new AbortIndexOperationException(e);
-		}
-		catch (final OutOfMemoryError e) {
+		catch (final IOException | OutOfMemoryError e) {
 			throw new AbortIndexOperationException(e);
 		}
 	}
diff --git a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
index 12b1db2..35b09b8 100644
--- a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
+++ b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
@@ -197,11 +197,7 @@
 				return RServiUtils.getRServi(config.address, key);
 			}
 		}
-		catch (final StatusException e) {
-			throw new StatusException(new ErrorStatus(BUNDLE_ID,
-					"R not available, please check the configuration.", e ));
-		}
-		catch (final LoginException e) {
+		catch (final StatusException | LoginException e) {
 			throw new StatusException(new ErrorStatus(BUNDLE_ID,
 					"R not available, please check the configuration.", e ));
 		}
diff --git a/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/ecommons/emf/ui/forms/MasterDetailComposite.java b/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/ecommons/emf/ui/forms/MasterDetailComposite.java
index 52645ad..d39ea2c 100644
--- a/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/ecommons/emf/ui/forms/MasterDetailComposite.java
+++ b/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/ecommons/emf/ui/forms/MasterDetailComposite.java
@@ -119,7 +119,7 @@
 		this.detail= toolkit.createComposite(this);
 		this.detail.setLayout(EFLayoutUtil.createMainSashRightLayout(1));
 		
-		setWeights(new int[] { 40, 60 });
+		setWeights(40, 60);
 		
 		this.checkLayout= true;
 		
diff --git a/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/rtm/base/ui/rexpr/RExprWidget.java b/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/rtm/base/ui/rexpr/RExprWidget.java
index a7bb86f..64cb146 100644
--- a/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/rtm/base/ui/rexpr/RExprWidget.java
+++ b/rtm/org.eclipse.statet.rtm.base.ui/src/org/eclipse/statet/rtm/base/ui/rexpr/RExprWidget.java
@@ -23,7 +23,6 @@
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.DropTarget;
 import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -310,7 +309,7 @@
 		this.textWidthHint= LayoutUtils.hintWidth(this.textControl, null, 25);
 		
 		final DropTarget dropTarget= new DropTarget(this.textControl, DND.DROP_COPY);
-		dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance() } );
+		dropTarget.setTransfer(LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance());
 		dropTarget.addDropListener(new RExprDropAdapter(uiAdapters) {
 			@Override
 			protected IContext getContext() {
diff --git a/rtm/org.eclipse.statet.rtm.ftable.core/src/org/eclipse/statet/rtm/ftable/util/FTableAdapterFactory.java b/rtm/org.eclipse.statet.rtm.ftable.core/src/org/eclipse/statet/rtm/ftable/util/FTableAdapterFactory.java
index 008b5bc..7b55581 100644
--- a/rtm/org.eclipse.statet.rtm.ftable.core/src/org/eclipse/statet/rtm/ftable/util/FTableAdapterFactory.java
+++ b/rtm/org.eclipse.statet.rtm.ftable.core/src/org/eclipse/statet/rtm/ftable/util/FTableAdapterFactory.java
@@ -78,7 +78,7 @@
 	 * @generated
 	 */
 	protected FTableSwitch<Adapter> modelSwitch =
-		new FTableSwitch<Adapter>() {
+		new FTableSwitch<>() {
 			@Override
 			public Adapter caseFTable(final FTable object) {
 				return createFTableAdapter();
diff --git a/rtm/org.eclipse.statet.rtm.ggplot.core/src/org/eclipse/statet/rtm/ggplot/util/GGPlotAdapterFactory.java b/rtm/org.eclipse.statet.rtm.ggplot.core/src/org/eclipse/statet/rtm/ggplot/util/GGPlotAdapterFactory.java
index f3f33c5..4966037 100644
--- a/rtm/org.eclipse.statet.rtm.ggplot.core/src/org/eclipse/statet/rtm/ggplot/util/GGPlotAdapterFactory.java
+++ b/rtm/org.eclipse.statet.rtm.ggplot.core/src/org/eclipse/statet/rtm/ggplot/util/GGPlotAdapterFactory.java
@@ -109,7 +109,7 @@
 	 * @generated
 	 */
 	protected GGPlotSwitch<Adapter> modelSwitch =
-		new GGPlotSwitch<Adapter>() {
+		new GGPlotSwitch<>() {
 			@Override
 			public Adapter caseGGPlot(final GGPlot object) {
 				return createGGPlotAdapter();