review services
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
index a2a9ed6..d4916ef 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/policy/DefaultDirectEditPolicy.java
@@ -74,7 +74,7 @@
 
 		final String message = request.getCellEditor().getErrorMessage();
 		if (message != null && message.length() != 0) {
-			MessageDialog.openError(UiService.getShell(), Messages.DefaultDirectEditPolicy_0_xmsg, message);
+			MessageDialog.openError(GraphitiUiInternal.getUiService().getShell(), Messages.DefaultDirectEditPolicy_0_xmsg, message);
 			return null;
 		}
 
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
index 49c4dc7..a8194d4 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/IUiService.java
@@ -17,6 +17,7 @@
 
 import org.eclipse.gef.GraphicalViewer;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Shell;
 
 /**
  * @noimplement This interface is not intended to be implemented by clients.
@@ -71,4 +72,11 @@
 	 */
 	public abstract void startSaveAsImageDialog(GraphicalViewer graphicalViewer);
 
+	/**
+	 * Returns the shell of the active workbench window.
+	 * 
+	 * @return the shell
+	 */
+	public abstract Shell getShell();
+
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
index 57d5796..1f21ab7 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/TraceService.java
@@ -39,13 +39,7 @@
 	private final boolean FULL_QUALIFIED = false;
 	private final boolean ADD_OBJECT_INFO = false;
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#getStacktrace
-	 * (java.lang.Throwable)
-	 */
+	@Override
 	public String getStacktrace(Throwable t) {
 		if (t == null)
 			return null;
@@ -54,25 +48,13 @@
 		return writer.toString();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpFigureTree
-	 * (org.eclipse.draw2d.IFigure)
-	 */
+	@Override
 	public void dumpFigureTree(IFigure figure) {
 		System.out.println("\nFigure Tree"); //$NON-NLS-1$
 		dumpFigureTree(figure, 0);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpFigureTree
-	 * (org.eclipse.draw2d.IFigure, int)
-	 */
+	@Override
 	public void dumpFigureTree(IFigure figure, int indent) {
 		String indentString = createIndentString(indent);
 
@@ -103,25 +85,13 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpEditPartTree
-	 * (org.eclipse.gef.EditPart)
-	 */
+	@Override
 	public void dumpEditPartTree(EditPart editPart) {
 		System.out.println("\nEdit Part Tree()"); //$NON-NLS-1$
 		dumpEditPartTree(editPart, 0);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpEditPartTree
-	 * (org.eclipse.gef.EditPart, int)
-	 */
+	@Override
 	public void dumpEditPartTree(EditPart editPart, int indent) {
 		String indentString = createIndentString(indent);
 		Object m = editPart.getModel();
@@ -147,25 +117,13 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.graphiti.ui.internal.services.impl.ITraceService#
-	 * dumpPictogramModelTree
-	 * (org.eclipse.graphiti.mm.pictograms.PictogramElement)
-	 */
+	@Override
 	public void dumpPictogramModelTree(PictogramElement pe) {
 		System.out.println("\nPictogram Model Tree()"); //$NON-NLS-1$
 		dumpPictogramModelTree(pe, 0);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.graphiti.ui.internal.services.impl.ITraceService#
-	 * dumpPictogramModelTree
-	 * (org.eclipse.graphiti.mm.pictograms.PictogramElement, int)
-	 */
+	@Override
 	public void dumpPictogramModelTree(PictogramElement pe, int indent) {
 		String indentString = createIndentString(indent);
 
@@ -183,24 +141,12 @@
 		}
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpGATree
-	 * (org.eclipse.graphiti.mm.pictograms.GraphicsAlgorithm)
-	 */
+	@Override
 	public void dumpGATree(GraphicsAlgorithm ga) {
 		dumpGATree(ga, 0);
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.services.impl.ITraceService#dumpGATree
-	 * (org.eclipse.graphiti.mm.pictograms.GraphicsAlgorithm, int)
-	 */
+	@Override
 	public void dumpGATree(GraphicsAlgorithm ga, int indent) {
 		String indentString = createIndentString(indent);
 		if (ga == null) {
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
index 1a7307f..ccda88e 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/services/impl/UiService.java
@@ -52,13 +52,7 @@
  */
 public class UiService implements IUiService {
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.util.ui.UiService#createImage(org.eclipse
-	 * .swt.graphics.Image, int)
-	 */
+	@Override
 	public byte[] createImage(Image image, int format) throws Exception {
 		ByteArrayOutputStream result = new ByteArrayOutputStream();
 
@@ -80,12 +74,7 @@
 		return result.toByteArray();
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.graphiti.ui.internal.util.ui.UiService#
-	 * create8BitIndexedPaletteImage(org.eclipse.swt.graphics.Image)
-	 */
+	@Override
 	public Image create8BitIndexedPaletteImage(Image image) throws Exception {
 		int upperboundWidth = image.getBounds().width;
 		int upperboundHeight = image.getBounds().height;
@@ -136,24 +125,18 @@
 		return image;
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.graphiti.ui.internal.util.ui.UiService#startSaveAsImageDialog
-	 * (org.eclipse.gef.GraphicalViewer)
-	 */
+	@Override
 	public void startSaveAsImageDialog(GraphicalViewer graphicalViewer) {
 		String METHOD = "startSaveAsImageDialog(graphicalViewer)"; //$NON-NLS-1$
 
 		// select image-format and scale-factor
-		SaveFigureAsImageDialog saveAsImageDialog = new SaveFigureAsImageDialog(UiService.getShell(), graphicalViewer);
+		SaveFigureAsImageDialog saveAsImageDialog = new SaveFigureAsImageDialog(getShell(), graphicalViewer);
 		saveAsImageDialog.open();
 		if (saveAsImageDialog.getReturnCode() == Window.CANCEL)
 			return;
 
 		// select filename with file-dialog
-		FileDialog fileDialog = new FileDialog(UiService.getShell(), SWT.SAVE);
+		FileDialog fileDialog = new FileDialog(getShell(), SWT.SAVE);
 		String fileExtensions[] = new String[] { "*." + saveAsImageDialog.getFileExtensionForImageFormat() }; //$NON-NLS-1$
 		fileDialog.setFilterExtensions(fileExtensions);
 		String filename = fileDialog.open();
@@ -168,10 +151,10 @@
 
 				// save image as file
 				WorkspaceModifyOperation saveOperation = saveContentsToFile(filename, image);
-				new ProgressMonitorDialog(UiService.getShell()).run(false, false, saveOperation);
+				new ProgressMonitorDialog(getShell()).run(false, false, saveOperation);
 			} catch (Exception e) {
 				String message = "Can not save image: "; //$NON-NLS-1$
-				MessageDialog.openError(UiService.getShell(), "Can not save image", message + e.getMessage()); //$NON-NLS-1$
+				MessageDialog.openError(getShell(), "Can not save image", message + e.getMessage()); //$NON-NLS-1$
 				T.racer().error(METHOD, message + "\nDetails: " + GraphitiUiInternal.getTraceService().getStacktrace(e)); //$NON-NLS-1$
 				e.printStackTrace();
 			}
@@ -220,33 +203,9 @@
 	 * 
 	 * @return The currently active Shell.
 	 */
-	public static Shell getShell() {
+	@Override
+	public Shell getShell() {
 		return GraphitiUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
 	}
 
-	// public static Color[] calculateColorsSteps(Color startColor, Color
-	// endColor, int steps) {
-	// if (steps < 2) {
-	// throw new IllegalArgumentException();
-	// }
-	//
-	// Color[] ret = new Color[steps];
-	//
-	// int redDiff = endColor.getRed() - startColor.getRed();
-	// int greenDiff = endColor.getGreen() - startColor.getGreen();
-	// int blueDiff = endColor.getBlue() - startColor.getBlue();
-	//
-	// ret[0] = startColor;
-	//
-	// for (int i = 1; i < steps - 1; i++) {
-	// int red = startColor.getRed() + ((i * redDiff) / (steps - 1));
-	// int green = startColor.getGreen() + ((i * greenDiff) / (steps - 1));
-	// int blue = startColor.getBlue() + ((i * blueDiff) / (steps - 1));
-	// ret[i] = new Color(null, red, green, blue);
-	// }
-	//
-	// ret[steps - 1] = endColor;
-	//
-	// return ret;
-	// }
 }