Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java	(revision 2415)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java	(revision 2416)
@@ -36,39 +36,41 @@
  *
  */
 public class SWTEditorsUtils {
-
-
+	
+	
 	/**
 	 * Gets an editor for the specified result if its opened.
+	 * 
 	 * @param result the result used by the editor to find
 	 * @return the editor if its opened otherwise null
 	 */
-	public static IEditorPart getEditor(TXMResult result)	{
-
+	public static IEditorPart getEditor(TXMResult result) {
+		
 		// FIXME: SJ: old version, doesn't work with ChartEditorInput
-		//		for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
-		//			for (IWorkbenchPage page : window.getPages()) {
-		//				return page.findEditor(new TXMResultEditorInput<TXMResult>(result));
-		//			}
-		//		}
-		//		return null;
-
+		// for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
+		// for (IWorkbenchPage page : window.getPages()) {
+		// return page.findEditor(new TXMResultEditorInput<TXMResult>(result));
+		// }
+		// }
+		// return null;
+		
 		// FIXME: SJ: new version, also works with ChartEditorInput
 		ArrayList<ITXMResultEditor<?>> editors = getEditors(result);
-		if(!editors.isEmpty())	{
+		if (!editors.isEmpty()) {
 			return editors.get(0);
 		}
-
+		
 		return null;
 	}
-
+	
 	/**
 	 * Gets all opened editors.
+	 * 
 	 * @return all opened editors if there is at least one otherwise returns an empty list
 	 */
 	public static ArrayList<ITXMResultEditor<?>> getEditors() {
-		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<ITXMResultEditor<?>>();
-
+		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<>();
+		
 		IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
 		for (IWorkbenchWindow window : windows) {
 			IWorkbenchPage[] pages = window.getPages();
@@ -76,15 +78,16 @@
 				for (IEditorReference reference : page.getEditorReferences()) {
 					IEditorPart tmpEditor = reference.getEditor(false);
 					
-					if(tmpEditor instanceof TXMMultiPageEditor)	{
-						TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor)tmpEditor);
+					if (tmpEditor instanceof TXMMultiPageEditor) {
+						TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor) tmpEditor);
 						for (int i = 0; i < txmMultipageEditor.getEditors().size(); i++) {
-							if(txmMultipageEditor.getEditors().get(i) instanceof ITXMResultEditor)	{
-								ITXMResultEditor txmEditor = ((ITXMResultEditor)txmMultipageEditor.getEditors().get(i));
+							if (txmMultipageEditor.getEditors().get(i) instanceof ITXMResultEditor) {
+								ITXMResultEditor txmEditor = ((ITXMResultEditor) txmMultipageEditor.getEditors().get(i));
 								editors.add(txmEditor);
 							}
 						}
-					} else if(tmpEditor instanceof ITXMResultEditor)	{
+					}
+					else if (tmpEditor instanceof ITXMResultEditor) {
 						editors.add((ITXMResultEditor<?>) tmpEditor);
 					}
 				}
@@ -92,104 +95,109 @@
 		}
 		return editors;
 	}
-
-
+	
+	
 	/**
 	 * Gets all opened editors for the specified result.
+	 * 
 	 * @param result
 	 * @return all opened editors for the specified result if there is at least one otherwise returns an empty list
 	 */
-	public static ArrayList<ITXMResultEditor<?>> getEditors(HashSet<TXMResult> results)	{
-
-		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<ITXMResultEditor<?>>();
-
+	public static ArrayList<ITXMResultEditor<?>> getEditors(HashSet<TXMResult> results) {
+		
+		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<>();
+		
 		ArrayList<ITXMResultEditor<?>> all_editors = getEditors();
-
+		
 		for (ITXMResultEditor<?> txmEditor : all_editors) {
-
-			if (results.contains(txmEditor.getResult()))	{
+			
+			if (results.contains(txmEditor.getResult())) {
 				editors.add(txmEditor);
 			}
 		}
-
+		
 		return editors;
 	}
-
+	
 	/**
 	 * Gets all opened editors for the specified result.
+	 * 
 	 * @param result
 	 * @return all opened editors for the specified result if there is at least one otherwise returns an empty list
 	 */
-	public static ArrayList<ITXMResultEditor<?>> getEditors(TXMResult result)	{
-
-		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<ITXMResultEditor<?>>();
-
+	public static ArrayList<ITXMResultEditor<?>> getEditors(TXMResult result) {
+		
+		ArrayList<ITXMResultEditor<?>> editors = new ArrayList<>();
+		
 		ArrayList<ITXMResultEditor<?>> all_editors = getEditors();
-
+		
 		for (ITXMResultEditor<?> txmEditor : all_editors) {
-
-			if (result == txmEditor.getResult())	{
+			
+			if (result == txmEditor.getResult()) {
 				editors.add(txmEditor);
 			}
 		}
-
+		
 		return editors;
 	}
-
+	
 	/**
 	 * Gets the current active editor.
+	 * 
 	 * @param event
 	 * @return
 	 */
-	public static ITXMResultEditor getActiveEditor(ExecutionEvent event)	{
-
+	public static ITXMResultEditor getActiveEditor(ExecutionEvent event) {
+		
 		IEditorPart editor = null;
-
-		if(event != null)	{
+		
+		if (event != null) {
 			editor = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getActiveEditor();
 		}
-		else	{
+		else {
 			editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
 		}
-
-		if(editor instanceof TXMMultiPageEditor)	{
-			editor = ((TXMMultiPageEditor)editor).getMainEditorPart();
-
+		
+		if (editor instanceof TXMMultiPageEditor) {
+			editor = ((TXMMultiPageEditor) editor).getMainEditorPart();
+			
 		}
-
-		if(!(editor instanceof ITXMResultEditor))	{
+		
+		if (!(editor instanceof ITXMResultEditor)) {
 			return null;
 		}
-
-		return (ITXMResultEditor)editor;
+		
+		return (ITXMResultEditor) editor;
 	}
-
+	
 	/**
 	 * Checks if the editor specified by its editor input is already open in the active page.
+	 * 
 	 * @param editorInput
 	 * @return
 	 */
-	public static boolean isOpenEditor(IEditorInput editorInput, String editorId)	{
+	public static boolean isOpenEditor(IEditorInput editorInput, String editorId) {
 		return (getEditor(editorInput, editorId) != null);
 	}
-
+	
 	/**
 	 * Gets an editor by its editor input.
+	 * 
 	 * @param editorInput
 	 * @return
 	 */
-	public static IEditorPart getEditor(IEditorInput editorInput, String editorId)	{
+	public static IEditorPart getEditor(IEditorInput editorInput, String editorId) {
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		IWorkbenchPage page = window.getActivePage();
 		IEditorReference[] editorsReferences = page.findEditors(editorInput, editorId, IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID);
-		if(editorsReferences.length > 0)	{
+		if (editorsReferences.length > 0) {
 			return editorsReferences[0].getEditor(false);
 		}
 		return null;
 	}
-
+	
 	/**
-	 * Splits the parent area of an editor and add another one in this area by splitting it. 
+	 * Splits the parent area of an editor and add another one in this area by splitting it.
 	 * (Same behavior than the splitting drag and drop event on editor.)
 	 * EModelService.ABOVE, EModelService.BELOW, etc. can be used as position.
 	 * 
@@ -199,11 +207,11 @@
 	 * @param percent The percentage of the area to be occupied by the inserted element
 	 */
 	public static void addEditor(EditorPart parentEditor, EditorPart editorToAdd, int position, float percent) {
-		addPart((MPart) parentEditor.getSite().getService(MPart.class), (MPart) editorToAdd.getSite().getService(MPart.class), position, percent);
+		addPart(parentEditor.getSite().getService(MPart.class), editorToAdd.getSite().getService(MPart.class), position, percent);
 	}
-
+	
 	/**
-	 * Splits the parent area of an editor and add another one in this area by splitting it by the middle. 
+	 * Splits the parent area of an editor and add another one in this area by splitting it by the middle.
 	 * (Same behavior than the splitting drag and drop event on editor.)
 	 * EModelService.ABOVE, EModelService.BELOW, etc. can be used as position.
 	 * 
@@ -214,9 +222,9 @@
 	public static void addEditor(EditorPart parentEditor, EditorPart editorToAdd, int position) {
 		addEditor(parentEditor, editorToAdd, position, 0.5f);
 	}
-
+	
 	/**
-	 * Splits the parent area of a part and add another one in this area by splitting it. 
+	 * Splits the parent area of a part and add another one in this area by splitting it.
 	 * (Same behavior than the splitting drag and drop event on editor.)
 	 * EModelService.ABOVE, EModelService.BELOW, etc. can be used as position.
 	 * 
@@ -227,34 +235,35 @@
 	 */
 	public static void addPart(MPart parentPart, MPart partToAdd, int position, float percent) {
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		EModelService service = (EModelService) window.getService(EModelService.class);
+		EModelService service = window.getService(EModelService.class);
 		
 		MUIElement parent = parentPart.getParent();
-		while (!(parent instanceof MPartSashContainerElement))	{
+		while (!(parent instanceof MPartSashContainerElement)) {
 			parent = parent.getParent();
 		}
-		MPartSashContainerElement sashContainer = (MPartSashContainerElement)parent;
+		MPartSashContainerElement sashContainer = (MPartSashContainerElement) parent;
 		
 		MPartStack stackToInsert = createPartStack(partToAdd);
 		
-		//TODO find out why the insert method always create a new sash
+		// TODO find out why the insert method always create a new sash
 		service.insert(stackToInsert, sashContainer, position, percent);
 	}
-
+	
 	/**
 	 * Creates a part stack for the specified part
+	 * 
 	 * @param part
 	 * @return
 	 */
 	private static MPartStack createPartStack(MPart part) {
 		MStackElement stackElement = part;
-
+		
 		MPartStack stack = BasicFactoryImpl.eINSTANCE.createPartStack();
 		stack.getChildren().add(stackElement);
 		stack.setSelectedElement(stackElement);
 		return stack;
 	}
-
+	
 	/**
 	 * close a ITXMResultEditor from its result
 	 * 
@@ -262,34 +271,36 @@
 	 */
 	public static boolean closeEditor(TXMResult r) {
 		IEditorPart e = getEditor(r);
-		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor)e).getResult() == r) {
-			((ITXMResultEditor)e).close();
+		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor) e).getResult() == r) {
+			((ITXMResultEditor) e).close();
 			return true;
 		}
 		return false;
 	}
-
+	
 	public static boolean refreshEditor(TXMResult r) {
 		IEditorPart e = getEditor(r);
-		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor)e).getResult() == r) {
+		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor) e).getResult() == r) {
 			try {
-				((ITXMResultEditor)e).refresh(true);
+				((ITXMResultEditor) e).refresh(true);
 				return true;
-			} catch (Exception e1) {
+			}
+			catch (Exception e1) {
 				// TODO Auto-generated catch block
 				e1.printStackTrace();
 			}
 		}
 		return false;
 	}
-
+	
 	public static boolean activateEditor(TXMResult r) {
 		IEditorPart e = getEditor(r);
-		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor<?>)e).getResult() == r) {
+		if (e != null && e instanceof ITXMResultEditor && ((ITXMResultEditor<?>) e).getResult() == r) {
 			try {
-				((ITXMResultEditor<?>)e).getSite().getPage().activate(e);
+				((ITXMResultEditor<?>) e).getSite().getPage().activate(e);
 				return true;
-			} catch (Exception e1) {
+			}
+			catch (Exception e1) {
 				// TODO Auto-generated catch block
 				e1.printStackTrace();
 			}
Index: tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java
===================================================================
--- tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java	(revision 2415)
+++ tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java	(revision 2416)
@@ -53,7 +53,7 @@
  *
  */
 public class ProgressionEventCallBack extends EventCallBack {
-
+	
 	/**
 	 * To keep track of the concordance lines and recomputing only if the selected item is out of this range.
 	 */
@@ -63,99 +63,101 @@
 	 * To keep track of the concordance lines sort and recomputing only if the sorting order has changed.
 	 */
 	protected LineComparator lastSortingComparator = null;
-
+	
 	@Override
 	public void processEvent(final Object event, final int eventArea, final Object o) {
 		
 		// Need to run this in the SWT UI thread because it's called from the AWT UI thread in TBX charts engine layer
 		chartEditor.getComposite().getDisplay().asyncExec(new Runnable() {
+			
+			@Override
 			public void run() {
-
+				
 				AWTEvent awtEvent = (AWTEvent) event;
 				
 				// Mouse event
-				if(event instanceof MouseEvent)	{
-				
-					MouseEvent mouseEvent = (MouseEvent)event;
+				if (event instanceof MouseEvent) {
 					
-					//return if it's not the left mouse button
-					if(mouseEvent.getButton() != MouseEvent.BUTTON1)	{
+					MouseEvent mouseEvent = (MouseEvent) event;
+					
+					// return if it's not the left mouse button
+					if (mouseEvent.getButton() != MouseEvent.BUTTON1) {
 						return;
 					}
 					
 					ChartMouseEvent chartEvent = (ChartMouseEvent) o;
 					ChartEntity entity = chartEvent.getEntity();
 					final ArrayList<Integer> selectedPointPositions = ((ProgressionChartCreator) chartEditor.getResult().getChartCreator()).getSelectedPointPositions(chartEditor.getChart());
-	
-					if(awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 2 && eventArea == EventCallBack.AREA_ITEM && !selectedPointPositions.isEmpty()) {
-	
+					
+					if (awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 2 && eventArea == EventCallBack.AREA_ITEM && !selectedPointPositions.isEmpty()) {
+						
 						// Linked edition (CTRL/CMD + double click)
-						if((mouseEvent.getModifiers() & ZoomAndPanCallBack.keyboardZoomModifierKeyMask) != 0) {
+						if ((mouseEvent.getModifiers() & ZoomAndPanCallBack.keyboardZoomModifierKeyMask) != 0) {
 							// Creates or updates the linked editor
 							updateLinkedEditionEditor((SynopticEditionEditor) chartEditor.getLinkedEditor(SynopticEditionEditor.class), selectedPointPositions);
 						}
 						// Linked concordance
-						else	{
+						else {
 							// Creates or updates the linked editor
 							updateLinkedConcordanceEditor(chartEditor.getLinkedEditors(ConcordanceEditor.class), selectedPointPositions);
 						}
 					}
-					else if(awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 1 && eventArea == EventCallBack.AREA_ITEM) {
-
+					else if (awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 1 && eventArea == EventCallBack.AREA_ITEM) {
+						
 						// Get the linked concordance editors and update the one linked to the progression curve if it exists
 						ArrayList<EditorPart> linkedConcordancesEditors = chartEditor.getLinkedEditors(ConcordanceEditor.class);
-						if(!linkedConcordancesEditors.isEmpty())	{
+						if (!linkedConcordancesEditors.isEmpty()) {
 							updateLinkedConcordanceEditor(linkedConcordancesEditors, selectedPointPositions);
 						}
 						
 						
 						// Get the linked edition editor and update it if exists
-						SynopticEditionEditor linkedEditionEditor = (SynopticEditionEditor)chartEditor.getLinkedEditor(SynopticEditionEditor.class);
-						if(linkedEditionEditor != null)	{
+						SynopticEditionEditor linkedEditionEditor = (SynopticEditionEditor) chartEditor.getLinkedEditor(SynopticEditionEditor.class);
+						if (linkedEditionEditor != null) {
 							updateLinkedEditionEditor(linkedEditionEditor, selectedPointPositions);
 						}
 						
 					}
-					else if(awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 2 && eventArea == EventCallBack.AREA_EMPTY) {
+					else if (awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 2 && eventArea == EventCallBack.AREA_EMPTY) {
 						// FIXME: debug
-						//System.err.println("ProgressionMouseClickedCallBack.processEvent(...).new Runnable() {...}.run(): double click in empty area");
+						// System.err.println("ProgressionMouseClickedCallBack.processEvent(...).new Runnable() {...}.run(): double click in empty area");
 					}
-					else if(awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 1 && eventArea == EventCallBack.AREA_EMPTY) {
+					else if (awtEvent.getID() == MouseEvent.MOUSE_CLICKED && mouseEvent.getClickCount() == 1 && eventArea == EventCallBack.AREA_EMPTY) {
 						// FIXME: debug
-						//System.err.println("ProgressionMouseClickedCallBack.processEvent(...).new Runnable() {...}.run(): single click in empty area");
+						// System.err.println("ProgressionMouseClickedCallBack.processEvent(...).new Runnable() {...}.run(): single click in empty area");
 					}
 				}
 				// Key event
-				else if(event instanceof KeyEvent)	{
-					KeyEvent keyEvent = (KeyEvent)event;
+				else if (event instanceof KeyEvent) {
+					KeyEvent keyEvent = (KeyEvent) event;
 					
 					// return if zoom and pan modifier
-					if((keyEvent.getModifiers() & ZoomAndPanCallBack.keyboardZoomModifierKeyMask) != 0) {
+					if ((keyEvent.getModifiers() & ZoomAndPanCallBack.keyboardZoomModifierKeyMask) != 0) {
 						return;
 					}
 					
 					// Arrow keys + return key
-					if(keyEvent.getKeyCode() == KeyEvent.VK_LEFT || keyEvent.getKeyCode() == KeyEvent.VK_RIGHT
-							 || keyEvent.getKeyCode() == KeyEvent.VK_ENTER)	{
-					
+					if (keyEvent.getKeyCode() == KeyEvent.VK_LEFT || keyEvent.getKeyCode() == KeyEvent.VK_RIGHT
+							|| keyEvent.getKeyCode() == KeyEvent.VK_ENTER) {
+						
 						final ArrayList<Integer> selectedPointPositions = ((ProgressionChartCreator) chartEditor.getResult().getChartCreator()).getSelectedPointPositions(chartEditor.getChart());
-	
+						
 						// Get the linked concordance editors and update the one linked to the progression curve if it exists
 						ArrayList<EditorPart> linkedConcordancesEditors = chartEditor.getLinkedEditors(ConcordanceEditor.class);
-						if(keyEvent.getKeyCode() == KeyEvent.VK_ENTER || !linkedConcordancesEditors.isEmpty())	{
+						if (keyEvent.getKeyCode() == KeyEvent.VK_ENTER || !linkedConcordancesEditors.isEmpty()) {
 							updateLinkedConcordanceEditor(linkedConcordancesEditors, selectedPointPositions);
 						}
 						
 						// Get the linked edition editor and update it if exists
-						SynopticEditionEditor linkedEditionEditor = (SynopticEditionEditor)chartEditor.getLinkedEditor(SynopticEditionEditor.class);
-						if(linkedEditionEditor != null)	{
+						SynopticEditionEditor linkedEditionEditor = (SynopticEditionEditor) chartEditor.getLinkedEditor(SynopticEditionEditor.class);
+						if (linkedEditionEditor != null) {
 							updateLinkedEditionEditor(linkedEditionEditor, selectedPointPositions);
 						}
 					}
 				}
 			}
 		});
-
+		
 	}
 	
 	
@@ -167,41 +169,41 @@
 	 * @param linkedEditors
 	 * @param selectedPointPositions
 	 */
-	public void updateLinkedConcordanceEditor(ArrayList<EditorPart> linkedEditors, final ArrayList<Integer> selectedPointPositions)	{
-
+	public void updateLinkedConcordanceEditor(ArrayList<EditorPart> linkedEditors, final ArrayList<Integer> selectedPointPositions) {
+		
 		// Debug
 		Log.finest("ProgressionEventCallBack.updateLinkedConcordanceEditor(): linked editors count: " + linkedEditors.size()); //$NON-NLS-1$
 		
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		IWorkbenchPage page = window.getActivePage();
-
+		
 		// Get and format the progression query from the selected chart series
 		// FIXME: case 1, the query is the query of the selected chart series
-//		ArrayList<Integer> selectedSeries = chartEditor.getEditorInput().getSWTChartComponentsProvider().getChartsEngine().getProgressionChartSelectedSeries(chartEditor.getChart());
-//		String query = ((Progression) chartEditor.getResultData()).getQueries().get(selectedSeries.get(selectedSeries.size() - 1).intValue()).getQueryString();
+		// ArrayList<Integer> selectedSeries = chartEditor.getEditorInput().getSWTChartComponentsProvider().getChartsEngine().getProgressionChartSelectedSeries(chartEditor.getChart());
+		// String query = ((Progression) chartEditor.getResultData()).getQueries().get(selectedSeries.get(selectedSeries.size() - 1).intValue()).getQueryString();
 		
 		int lastSelectedSeries = ((ProgressionChartCreator) chartEditor.getResult().getChartCreator()).getLastSelectedSeries(chartEditor.getChart());
 		if (lastSelectedSeries == -1) { // no selection
 			return;
 		}
 		String query = ((Progression) chartEditor.getResult()).getQueries().get(lastSelectedSeries).getQueryString();
-
-//		// Remove "[" and "]" only if it's a simple query as "[faire]" 
-//		if(query.startsWith("[") && !query.contains("="))	{ //$NON-NLS-1$ //$NON-NLS-2$
-//			int length = query.length();
-//			if(query.endsWith("]"))	{ //$NON-NLS-1$
-//				length--;
-//			}
-//			query = query.substring(1, length);
-//		}
-
+		
+		// // Remove "[" and "]" only if it's a simple query as "[faire]"
+		// if(query.startsWith("[") && !query.contains("=")) { //$NON-NLS-1$ //$NON-NLS-2$
+		// int length = query.length();
+		// if(query.endsWith("]")) { //$NON-NLS-1$
+		// length--;
+		// }
+		// query = query.substring(1, length);
+		// }
+		
 		// FIXME: case 2, the query is the combination of all the queries of the progression
-//		String query = ((Progression) chartEditor.getResultData()).getQueriesString();
+		// String query = ((Progression) chartEditor.getResultData()).getQueriesString();
 		
 		// gets the linked editor according to the query if it exists
 		ConcordanceEditor linkedEditor = null;
-		for(int i = 0; i < linkedEditors.size(); i++) {
-			if(query.equals(((ConcordanceEditor) linkedEditors.get(i)).getConcordance().getQuery().getQueryString()))	{
+		for (int i = 0; i < linkedEditors.size(); i++) {
+			if (query.equals(((ConcordanceEditor) linkedEditors.get(i)).getConcordance().getQuery().getQueryString())) {
 				linkedEditor = ((ConcordanceEditor) linkedEditors.get(i));
 				break;
 			}
@@ -219,25 +221,25 @@
 			newEditor = true;
 		}
 		else {
-			editorInput = (TXMResultEditorInput) linkedEditor.getEditorInput();
+			editorInput = linkedEditor.getEditorInput();
 		}
-
+		
 		try {
 			boolean wasOpenedEditor = SWTEditorsUtils.isOpenEditor(editorInput, ConcordanceEditor.ID);
 			
 			linkedEditor = (ConcordanceEditor) page.openEditor(editorInput, ConcordanceEditor.ID, false);
-			if(newEditor)	{
+			if (newEditor) {
 				chartEditor.addLinkedEditor(linkedEditor);
 			}
 			
 			// Split the area and insert the new editor
-			if(!wasOpenedEditor)	{
+			if (!wasOpenedEditor) {
 				
 				int position = EModelService.BELOW;
 				EditorPart parentEditor = chartEditor;
 				
 				// Split vertically if there is already a concordance or an edition editor otherwise split horizontally
-				if(linkedEditors != null && !linkedEditors.isEmpty())	 {
+				if (linkedEditors != null && !linkedEditors.isEmpty()) {
 					position = EModelService.RIGHT_OF;
 					parentEditor = linkedEditors.get(linkedEditors.size() - 1);
 					
@@ -252,27 +254,29 @@
 		catch (PartInitException e) {
 			System.err.println(NLS.bind(TXMCoreMessages.errorColonP0, e.getLocalizedMessage()));
 		}
-
+		
 		// Compute the concordance if it has never been computed
-		if(newEditor)	{
+		if (newEditor) {
 			Job job = linkedEditor.compute(false);
-
+			
 			final ConcordanceEditor linkedEditor2 = linkedEditor;
 			
-			job.addJobChangeListener(new JobChangeAdapter() 	{
+			job.addJobChangeListener(new JobChangeAdapter() {
+				
 				@Override
 				public void done(IJobChangeEvent event) {
 					super.done(event);
 					
 					// initialize range change tracking variables
 					lastConcordanceTopLine = -1;
-					//lastConcordanceBottomLine = linkedEditor.getLinePerPage();
+					// lastConcordanceBottomLine = linkedEditor.getLinePerPage();
 					lastSortingComparator = linkedEditor2.getCurrentComparator();
-
+					
 					updateLinkedConcordanceEditor(linkedEditor2, selectedPointPositions, true);
 					
 					// give back the focus to the chart editor and chart composite
 					chartEditor.getComposite().getDisplay().asyncExec(new Runnable() {
+						
 						@Override
 						public void run() {
 							chartEditor.setFocus();
@@ -286,33 +290,33 @@
 			
 			
 		}
-		else	{
+		else {
 			updateLinkedConcordanceEditor(linkedEditor, selectedPointPositions, false);
-			//chartEditor.getChartComposite().setFocus();
+			// chartEditor.getChartComposite().setFocus();
 		}
 		
 		// give back the focus to chart editor and the chart composite
-		//chartEditor.setFocus();
-		//chartEditor.getChartComposite().setFocus();
+		// chartEditor.setFocus();
+		// chartEditor.getChartComposite().setFocus();
 	}
-
-
+	
+	
 	/**
 	 * 
 	 * @param linkedEditor
 	 * @param selectedPointPositions
 	 * @param loadLines
 	 */
-	public void updateLinkedConcordanceEditor(final ConcordanceEditor linkedEditor, final ArrayList<Integer> selectedPointPositions, boolean loadLines)	{
+	public void updateLinkedConcordanceEditor(final ConcordanceEditor linkedEditor, final ArrayList<Integer> selectedPointPositions, boolean loadLines) {
 		
 		final TableViewer tableViewer = linkedEditor.getLineTableViewer();
 		
-		if(tableViewer.getTable().isDisposed())	{
+		if (tableViewer.getTable().isDisposed()) {
 			return;
 		}
 		
-		if(selectedPointPositions.size() > 0)	{
-
+		if (selectedPointPositions.size() > 0) {
+			
 			// Get the index of the last selected point in concordance according to the global token position and concordance sorting order
 			int lineIndex = linkedEditor.getConcordance().indexOf(selectedPointPositions.get(selectedPointPositions.size() - 1));
 			
@@ -322,71 +326,76 @@
 			
 			// Manage the lazy loading of new lines range in the concordance table
 			// page change
-			if(lastConcordanceTopLine != top)	{
+			if (lastConcordanceTopLine != top) {
 				loadLines = true;
 			}
 			// sort change
-			else if(lastSortingComparator != linkedEditor.getCurrentComparator())	{
+			else if (lastSortingComparator != linkedEditor.getCurrentComparator()) {
 				loadLines = true;
 			}
-
 			
+			
 			// Loads new lines, fill the display area and select the table row
-			if(loadLines)	{
+			if (loadLines) {
 				Display.getDefault().syncExec(new Runnable() {
+					
 					@Override
 					public void run() {
 						linkedEditor.fillDisplayArea(true);
 					}
 				});
 			}
-
+			
 			// update range change tracking variables
 			lastConcordanceTopLine = top;
-			//lastConcordanceBottomLine = bottom;
+			// lastConcordanceBottomLine = bottom;
 			lastSortingComparator = linkedEditor.getCurrentComparator();
 			
 			
-			final int selectedPointInTableRange = lineIndex - top;						
-	
+			final int selectedPointInTableRange = lineIndex - top;
+			
 			tableViewer.getControl().getDisplay().asyncExec(new Runnable() {
+				
 				@Override
 				public void run() {
 					tableViewer.getTable().deselectAll();
 					
 					Object line = tableViewer.getElementAt(selectedPointInTableRange);
-					if(line != null)	{
+					if (line != null) {
 						tableViewer.setSelection(new StructuredSelection(line), true);
 						// FIXME: commented because the set top index makes the read of the table difficult
-						//tableViewer.getTable().setTopIndex(selectedPointInTableRange);
-						Log.finest("ProgressionEventCallBack.updateLinkedConcordanceEditor(...).new Runnable() {...}.run(): Selecting progression point (" + selectedPointInTableRange + " / " + tableViewer.getTable().getItemCount() + ") in the linked Concordance table."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+						// tableViewer.getTable().setTopIndex(selectedPointInTableRange);
+						Log.finest("ProgressionEventCallBack.updateLinkedConcordanceEditor(...).new Runnable() {...}.run(): Selecting progression point (" + selectedPointInTableRange + " / " //$NON-NLS-1$ //$NON-NLS-2$
+								+ tableViewer.getTable().getItemCount() + ") in the linked Concordance table.");  //$NON-NLS-1$
 					}
-					else	{
-						Log.finest("ProgressionEventCallBack.updateLinkedConcordanceEditor(...).new Runnable() {...}.run(): Selected progression point (" + selectedPointInTableRange + " / " + tableViewer.getTable().getItemCount() + ") doesn't exist in the linked Concordance table."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					else {
+						Log.finest("ProgressionEventCallBack.updateLinkedConcordanceEditor(...).new Runnable() {...}.run(): Selected progression point (" + selectedPointInTableRange + " / " //$NON-NLS-1$ //$NON-NLS-2$
+								+ tableViewer.getTable().getItemCount() + ") doesn't exist in the linked Concordance table.");  //$NON-NLS-1$
 					}
 				}
 			});
 		}
-		else	{
+		else {
 			tableViewer.getTable().deselectAll();
 		}
 	}
 	
-	//FIXME: version with new SynopticEditionEditor system edition
+	// FIXME: version with new SynopticEditionEditor system edition
 	/**
 	 * Updates the linked edition editor.
 	 * If the editor doesn't exist it will be created.
+	 * 
 	 * @param editor
 	 */
-	public void updateLinkedEditionEditor(SynopticEditionEditor linkedEditor, ArrayList<Integer> selectedPointPositions)	{
+	public void updateLinkedEditionEditor(SynopticEditionEditor linkedEditor, ArrayList<Integer> selectedPointPositions) {
 		
 		try {
-		
+			
 			ArrayList<Color> seriesColors = chartEditor.getResult().getChartCreator().getSeriesShapesColors(chartEditor.getChart());
 			RGBA selectedWordColor = new RGBA(255, 10, 10);
-
+			
 			// Unhighlight all tokens
-			if(linkedEditor != null)	{
+			if (linkedEditor != null) {
 				linkedEditor.removeHighlightWords();
 				linkedEditor.updateWordStyles();
 			}
@@ -396,59 +405,60 @@
 			Property textP = textS.getProperty(CorpusBuild.ID);
 			Match selectedWordMatch = new Match(selectedPointPositions.get(selectedPointPositions.size() - 1), selectedPointPositions.get(selectedPointPositions.size() - 1));
 			String textId = selectedWordMatch.getValueForProperty(textP);
-
+			
 			Text text = corpus.getProject().getText(textId);
-			if(text == null) {
+			if (text == null) {
 				Log.severe(ProgressionUIMessages.bind(ProgressionUIMessages.textP0IsMissing, textId));
 				return;
 			}
-
+			
 			Edition edition = text.getEdition(corpus.getProject().getDefaultEdition());
-
-			if(edition == null) {
+			
+			if (edition == null) {
 				Log.severe(ProgressionUIMessages.defaultEditionIsMissing);
 				return;
 			}
-
+			
 			// Compute the edition if needed
-			if(!edition.hasBeenComputedOnce())	{
+			if (!edition.hasBeenComputedOnce()) {
 				edition.compute();
 			}
 			
 			// Get the current selected word to highlight more
 			List<String> selectedWordIds = selectedWordMatch.getValuesForProperty(corpus.getProperty(CorpusBuild.ID));
-
+			
 			// Get all words to highlight from the progression chart data set
-			ArrayList<ArrayList<Integer>> allPointPositionsBySeries = ((ProgressionChartCreator)chartEditor.getResult().getChartCreator()).getAllPointPositionsBySeries(chartEditor.getChart());
+			ArrayList<ArrayList<Integer>> allPointPositionsBySeries = ((ProgressionChartCreator) chartEditor.getResult().getChartCreator()).getAllPointPositionsBySeries(chartEditor.getChart());
 			
-			ArrayList<ArrayList<String>> allWordIds = new ArrayList<ArrayList<String>>(allPointPositionsBySeries.size());
-			for(int i = 0; i < allPointPositionsBySeries.size(); i++) {
+			ArrayList<ArrayList<String>> allWordIds = new ArrayList<>(allPointPositionsBySeries.size());
+			for (int i = 0; i < allPointPositionsBySeries.size(); i++) {
 				ArrayList<Integer> positions = allPointPositionsBySeries.get(i);
-				ArrayList<String> wordsIds = new ArrayList<String>(); 
-				for(int j = 0; j < positions.size(); j++) {
-					Match match = new Match(positions.get(j), positions.get(j));					
-					if(match.getValueForProperty(textP).equals(textId)) {
-						wordsIds.add(match.getValueForProperty(corpus.getProperty(CorpusBuild.ID))); //$NON-NLS-1$;
+				ArrayList<String> wordsIds = new ArrayList<>();
+				for (int j = 0; j < positions.size(); j++) {
+					Match match = new Match(positions.get(j), positions.get(j));
+					if (match.getValueForProperty(textP).equals(textId)) {
+						wordsIds.add(match.getValueForProperty(corpus.getProperty(CorpusBuild.ID))); // ;
 					}
 				}
 				allWordIds.add(wordsIds);
 			}
-
+			
 			Page openPage = edition.getPageForWordId(selectedWordIds.get(0));
-
-			if(openPage != null) {
-
+			
+			if (openPage != null) {
+				
 				// Create the linked editor if needed
-				if(linkedEditor == null || linkedEditor.isDisposed()) {
+				if (linkedEditor == null || linkedEditor.isDisposed()) {
 					linkedEditor = OpenEdition.openEdition(corpus, OpenEdition.getDefaultEditions(corpus));
 					chartEditor.addLinkedEditor(linkedEditor);
 					
 					
-					int position = EModelService.BELOW;;
+					int position = EModelService.BELOW;
+					;
 					EditorPart parentEditor = chartEditor;
 					// Split vertically if there is already a concordance editor otherwise split horizontally
-					ConcordanceEditor linkedConcordanceEditor = (ConcordanceEditor)chartEditor.getLinkedEditor(ConcordanceEditor.class);
-					if(linkedConcordanceEditor != null)	{
+					ConcordanceEditor linkedConcordanceEditor = (ConcordanceEditor) chartEditor.getLinkedEditor(ConcordanceEditor.class);
+					if (linkedConcordanceEditor != null) {
 						position = EModelService.RIGHT_OF;
 						parentEditor = linkedConcordanceEditor;
 					}
@@ -456,12 +466,12 @@
 					// Split and add linked editor
 					SWTEditorsUtils.addEditor(parentEditor, linkedEditor, position);
 				}
-
+				
 				linkedEditor.setText(text, true);
 				linkedEditor.goToPage(openPage.getName());
 				
 				// Highlight tokens by series
-				for(int i = 0; i < allWordIds.size(); i++) {
+				for (int i = 0; i < allWordIds.size(); i++) {
 					linkedEditor.addHighlightWordsById(new RGBA(seriesColors.get(i).getRed(), seriesColors.get(i).getGreen(), seriesColors.get(i).getBlue()), allWordIds.get(i));
 				}
 				// Highlight selected curve token
@@ -473,21 +483,21 @@
 				
 				// FIXME: SJ: need to check that. Under Linux it seems we need to give back the focus to the chart editor and composite
 				// give back the focus to the chart editor and chart composite
-//				chartEditor.getComposite().getDisplay().asyncExec(new Runnable() {
-//					@Override
-//					public void run() {
-//						chartEditor.setFocus();
-//						chartEditor.getChartComposite().setFocus();
-//					}
-//				});
-
+				// chartEditor.getComposite().getDisplay().asyncExec(new Runnable() {
+				// @Override
+				// public void run() {
+				// chartEditor.setFocus();
+				// chartEditor.getChartComposite().setFocus();
+				// }
+				// });
+				
 			}
 		}
-		catch(Exception e) {
+		catch (Exception e) {
 			Log.printStackTrace(e);
 		}
 	}
-
 	
-	    
-}
\ No newline at end of file
+	
+	
+}
