Merge remote-tracking branch 'origin/master' into BETA_JAVA16

Change-Id: Ic1b2209b2dbefa34dd3dd9dc423b542817c67ba1
diff --git a/org.eclipse.jdt.debug.tests/java9/LogicalStructures.java b/org.eclipse.jdt.debug.tests/java9/LogicalStructures.java
index 1244ca8..cb3ad4b 100644
--- a/org.eclipse.jdt.debug.tests/java9/LogicalStructures.java
+++ b/org.eclipse.jdt.debug.tests/java9/LogicalStructures.java
@@ -44,7 +44,7 @@
 				System.gc();
 				garbage = Arrays.asList(new String("a"), new String("b"), new String("c"));
 			}
-		}, 50, 20);
+		}, 200, 20);
 	}
 
 }
diff --git a/org.eclipse.jdt.debug.tests/pom.xml b/org.eclipse.jdt.debug.tests/pom.xml
index 005e520..1449cd9 100644
--- a/org.eclipse.jdt.debug.tests/pom.xml
+++ b/org.eclipse.jdt.debug.tests/pom.xml
@@ -14,7 +14,7 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.debug.tests</artifactId>
diff --git a/org.eclipse.jdt.debug.tests/testprograms/LogicalStructures.java b/org.eclipse.jdt.debug.tests/testprograms/LogicalStructures.java
index 1244ca8..cb3ad4b 100644
--- a/org.eclipse.jdt.debug.tests/testprograms/LogicalStructures.java
+++ b/org.eclipse.jdt.debug.tests/testprograms/LogicalStructures.java
@@ -44,7 +44,7 @@
 				System.gc();
 				garbage = Arrays.asList(new String("a"), new String("b"), new String("c"));
 			}
-		}, 50, 20);
+		}, 200, 20);
 	}
 
 }
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/variables/TestLogicalStructures.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/variables/TestLogicalStructures.java
index 1d0f49b..d125b71 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/variables/TestLogicalStructures.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/variables/TestLogicalStructures.java
@@ -66,7 +66,7 @@
 			assertEquals("Should be one logical structure type", 1, types.length);
 
 			IJavaObject logicalValue = (IJavaObject) types[0].getLogicalStructure(value);
-			Thread.sleep(200); // run a few GC cycles
+			Thread.sleep(500); // run a few GC cycles
 			assertEquals("Logical value should be an array", "java.lang.Object[]", logicalValue.getJavaType().getName());
 
 			IJavaArray array = (IJavaArray) logicalValue;
@@ -105,7 +105,7 @@
 			assertEquals("Should be one logical structure type", 1, types.length);
 
 			IJavaObject logicalValue = (IJavaObject) types[0].getLogicalStructure(value);
-			Thread.sleep(200); // run a few GC cycles
+			Thread.sleep(500); // run a few GC cycles
 			assertEquals("Logical value should be an array", "java.lang.Object[]", logicalValue.getJavaType().getName());
 
 			IJavaArray array = (IJavaArray) logicalValue;
@@ -144,7 +144,7 @@
 			assertEquals("Should be one logical structure type", 1, types.length);
 
 			IJavaObject logicalValue = (IJavaObject) types[0].getLogicalStructure(value);
-			Thread.sleep(200); // run a few GC cycles
+			Thread.sleep(500); // run a few GC cycles
 			IVariable[] children = logicalValue.getVariables();
 			assertEquals("Should be two elements in the structure", 2, children.length);
 			assertEquals("First entry should be key", "key", children[0].getName());
diff --git a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
index 06abfe2..966e07c 100644
--- a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jdt.debug.ui; singleton:=true
-Bundle-Version: 3.12.100.qualifier
+Bundle-Version: 3.12.200.qualifier
 Bundle-Activator: org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.jdt.debug.ui/forceQualifierUpdate.txt b/org.eclipse.jdt.debug.ui/forceQualifierUpdate.txt
index 5c8c969..d4af73e 100644
--- a/org.eclipse.jdt.debug.ui/forceQualifierUpdate.txt
+++ b/org.eclipse.jdt.debug.ui/forceQualifierUpdate.txt
@@ -2,4 +2,5 @@
 Bug 522092 - Comparator errors from I20170909-0920
 Bug 530709 - Comparator errors in jdt debug and jdt ui in I20180204-2000
 Bug 566471 - I20200828-0150 - Comparator Errors Found
-Bug 567095 - Comparator errors in I20200917-1800
\ No newline at end of file
+Bug 567095 - Comparator errors in I20200917-1800
+Bug 569538 - Comparator error in I20201208-0300
\ No newline at end of file
diff --git a/org.eclipse.jdt.debug.ui/plugin.properties b/org.eclipse.jdt.debug.ui/plugin.properties
index db85c36..513fdd6 100644
--- a/org.eclipse.jdt.debug.ui/plugin.properties
+++ b/org.eclipse.jdt.debug.ui/plugin.properties
@@ -17,6 +17,7 @@
 vmInstallPage=VM Install Page
 vmCapabilitiesPageName=VM Capabilities
 AddBreakpoint.label=Toggle &Breakpoint
+AddTracepoint.label=Toggle &Tracepoint
 
 addTypeStepFilterAction.label=&Filter Type
 addTypeStepFilterAction.tooltip=Filter the selected type(s)
diff --git a/org.eclipse.jdt.debug.ui/plugin.xml b/org.eclipse.jdt.debug.ui/plugin.xml
index 287975f..877e24c 100644
--- a/org.eclipse.jdt.debug.ui/plugin.xml
+++ b/org.eclipse.jdt.debug.ui/plugin.xml
@@ -152,8 +152,8 @@
          <action
                definitionId="org.eclipse.jdt.debug.ui.commands.ToggleTracepoint"
                label="%ToggleTracepointAction.label"
-               icon="$nl$/icons/full/obj16/brkp_obj.png"
-               disabledIcon="$nl$/icons/full/obj16/brkpd_obj.png"
+               icon="platform:/plugin/org.eclipse.debug.ui/icons/full/obj16/read_obj.png"
+               disabledIcon="platform:/plugin/org.eclipse.debug.ui/icons/full/obj16/read_obj_disabled.png"
                helpContextId="toggle_tracepoint_action_context"
                class="org.eclipse.jdt.internal.debug.ui.actions.RetargetToggleTracepointAction"
                menubarPath="org.eclipse.ui.run/lineBreakpointBeforeGroup"
@@ -972,6 +972,15 @@
                 menubarPath="debug">
          </action>
          <action
+               class="org.eclipse.jdt.internal.debug.ui.actions.RulerToggleTracepointActionDelegate"
+               helpContextId="manage_breakpoint_action_context"
+               icon="platform:/plugin/org.eclipse.debug.ui/icons/full/obj16/read_obj.png"
+               id="org.eclipse.jdt.debug.ui.actions.RulerToggleTracepointAction"
+               definitionId="org.eclipse.jdt.debug.ui.commands.ToggleTracepoint"
+               label="%AddTracepoint.label"
+               menubarPath="debug">
+         </action>
+         <action
                label="%EnableBreakpoint.label"
                helpContextId="enable_disable_breakpoint_action_context"
                class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
@@ -1007,6 +1016,15 @@
                 menubarPath="debug">
          </action>
          <action
+               class="org.eclipse.jdt.internal.debug.ui.actions.RulerToggleTracepointActionDelegate"
+               helpContextId="toggle_tracepoint_action_context"
+               icon="platform:/plugin/org.eclipse.debug.ui/icons/full/obj16/read_obj.png"
+               id="org.eclipse.jdt.debug.ui.actions.RulerToggleTracepointAction"
+               definitionId="org.eclipse.jdt.debug.ui.commands.ToggleTracepoint"
+               label="%AddTracepoint.label"
+               menubarPath="debug">
+         </action>
+         <action
                label="%EnableBreakpoint.label"
                helpContextId="enable_disable_breakpoint_action_context"
                class="org.eclipse.debug.ui.actions.RulerEnableDisableBreakpointActionDelegate"
diff --git a/org.eclipse.jdt.debug.ui/pom.xml b/org.eclipse.jdt.debug.ui/pom.xml
index e7fbe5f..eb39150 100644
--- a/org.eclipse.jdt.debug.ui/pom.xml
+++ b/org.eclipse.jdt.debug.ui/pom.xml
@@ -14,11 +14,11 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.debug.ui</artifactId>
-  <version>3.12.100-SNAPSHOT</version>
+  <version>3.12.200-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   <properties>
     <code.ignoredWarnings>-warn:+resource,-deprecation,unavoidableGenericProblems</code.ignoredWarnings>
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleTracepointActionDelegate.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleTracepointActionDelegate.java
new file mode 100644
index 0000000..6edd6a7
--- /dev/null
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleTracepointActionDelegate.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2020, Andrey Loskutov <loskutov@gmx.de> and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *     Andrey Loskutov <loskutov@gmx.de> - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jdt.internal.debug.ui.actions;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.NotEnabledException;
+import org.eclipse.core.commands.NotHandledException;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.text.source.IVerticalRulerInfo;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.ui.IActionDelegate2;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPartSite;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.handlers.IHandlerService;
+import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+public class RulerToggleTracepointActionDelegate extends AbstractRulerActionDelegate implements IActionDelegate2 {
+
+	private static final String TOGGLE_TRACEPOINT_COMMAND = "org.eclipse.jdt.debug.ui.commands.ToggleTracepoint"; //$NON-NLS-1$
+	private IEditorPart currentEditor;
+	private IAction dummyAction;
+
+	@Override
+	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
+		dummyAction = new Action() {
+			// empty implementation to make compiler happy
+		};
+		return dummyAction;
+	}
+
+	@Override
+	public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
+		currentEditor = targetEditor;
+	}
+
+	@Override
+	public void init(IAction action) {
+	}
+
+	@Override
+	public void dispose() {
+		currentEditor = null;
+		dummyAction = null;
+		super.dispose();
+	}
+
+	@Override
+	public void runWithEvent(IAction action, Event event) {
+		if (currentEditor == null) {
+			return;
+		}
+		IWorkbenchPartSite partSite = currentEditor.getSite();
+		IHandlerService hservice = partSite.getService(IHandlerService.class);
+		ICommandService cservice = partSite.getService(ICommandService.class);
+		try {
+			Command command = cservice.getCommand(TOGGLE_TRACEPOINT_COMMAND);
+			ExecutionEvent exevent = hservice.createExecutionEvent(command, event);
+			command.executeWithChecks(exevent);
+		} catch (ExecutionException | NotDefinedException | NotEnabledException | NotHandledException e) {
+			DebugUIPlugin.log(e);
+		}
+	}
+
+}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
index c4bfc07..1487edb 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
@@ -59,6 +59,7 @@
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jdt.core.Signature;
 import org.eclipse.jdt.core.SourceRange;
+import org.eclipse.jdt.core.WorkingCopyOwner;
 import org.eclipse.jdt.core.dom.ASTNode;
 import org.eclipse.jdt.core.dom.ClassInstanceCreation;
 import org.eclipse.jdt.core.dom.CompilationUnit;
@@ -86,7 +87,7 @@
 import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
 import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
 import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
+import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
 import org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateEngine;
 import org.eclipse.jdt.internal.ui.text.template.contentassist.TemplateProposal;
 import org.eclipse.jdt.ui.IWorkingCopyManager;
@@ -309,8 +310,8 @@
 		IResource resource = BreakpointUtils.getBreakpointResource(member);
 		String qualifiedName = getQualifiedName(type);
 		IJavaMethodBreakpoint methodBreakpoint = JDIDebugModel.createMethodBreakpoint(resource, qualifiedName, mname, signature, true, false, false, -1, start, end, 0, true, attributes);
-		if (BreakpointToggleUtils.isToggleTracepoints() && finalSelection instanceof ITextSelection && part instanceof CompilationUnitEditor) {
-			String pattern = getCodeTemplate((ITextSelection) finalSelection, (CompilationUnitEditor) part);
+		if (BreakpointToggleUtils.isToggleTracepoints() && finalSelection instanceof ITextSelection && part instanceof JavaEditor) {
+			String pattern = getCodeTemplate((ITextSelection) finalSelection, (JavaEditor) part);
 			if (pattern != null) {
 				pattern = pattern.trim();
 				pattern = pattern.replaceAll("\\\t", ""); //$NON-NLS-1$//$NON-NLS-2$
@@ -409,8 +410,8 @@
 			}
 			BreakpointUtils.addJavaBreakpointAttributes(attributes, type);
 			IJavaLineBreakpoint breakpoint = JDIDebugModel.createLineBreakpoint(resource, tname, lnumber, charstart, charend, 0, true, attributes);
-			if (BreakpointToggleUtils.isToggleTracepoints() && selection instanceof ITextSelection && part instanceof CompilationUnitEditor) {
-				String pattern = getCodeTemplate((ITextSelection) selection, (CompilationUnitEditor) part);
+			if (BreakpointToggleUtils.isToggleTracepoints() && selection instanceof ITextSelection && part instanceof JavaEditor) {
+				String pattern = getCodeTemplate((ITextSelection) selection, (JavaEditor) part);
 				if (pattern != null) {
 					pattern = pattern.trim();
 					pattern = pattern.replaceAll("\\\t", ""); //$NON-NLS-1$//$NON-NLS-2$
@@ -1585,7 +1586,7 @@
 	 * @return the type root or <code>null</code> if one cannot be derived
 	 * @since 3.8
 	 */
-	private static String getCodeTemplate(ITextSelection textSelection, CompilationUnitEditor part) {
+	private static String getCodeTemplate(ITextSelection textSelection, JavaEditor part) {
 		ITextViewer viewer = part.getViewer();
 		if (viewer == null) {
 			return null;
@@ -1596,22 +1597,21 @@
 		return templateBuffer.get();
 	}
 
-	private static void doGetCodeTemplate(ITextSelection textSelection, CompilationUnitEditor part, ITextViewer viewer, TemplateContextType contextType, AtomicReference<String> templateBuffer) {
+	private static void doGetCodeTemplate(ITextSelection textSelection, JavaEditor part, ITextViewer viewer, TemplateContextType contextType, AtomicReference<String> templateBuffer) {
 		ITextEditor editor = getTextEditor(part);
 		if (editor == null) {
 			return;
 		}
-		TemplateEngine statementEngine = new TemplateEngine(contextType);
-		statementEngine.reset();
-		IJavaElement element = getJavaElement(editor.getEditorInput());
-		ICompilationUnit cunit = null;
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IFile file = root.getFile(element.getPath());
-		cunit = JavaCore.createCompilationUnitFrom(file);
 		IDocumentProvider documentProvider = editor.getDocumentProvider();
 		if (documentProvider == null) {
 			return;
 		}
+		ICompilationUnit cunit = getCompilationUnit(editor);
+		if (cunit == null) {
+			return;
+		}
+		TemplateEngine statementEngine = new TemplateEngine(contextType);
+		statementEngine.reset();
 		IDocument document = documentProvider.getDocument(editor.getEditorInput());
 		try {
 			IRegion line = document.getLineInformation(textSelection.getStartLine() + 1);
@@ -1636,4 +1636,22 @@
 		}
 	}
 
+	private static ICompilationUnit getCompilationUnit(ITextEditor editor) {
+		IJavaElement element = getJavaElement(editor.getEditorInput());
+		if (element == null) {
+			return null;
+		}
+		if (element instanceof IOrdinaryClassFile) {
+			try {
+				return ((IOrdinaryClassFile) element).getWorkingCopy(new WorkingCopyOwner() {}, null);
+			} catch (JavaModelException e) {
+				// ignore
+				return null;
+			}
+		}
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		IFile file = root.getFile(element.getPath());
+		return JavaCore.createCompilationUnitFrom(file);
+	}
+
 }
diff --git a/org.eclipse.jdt.debug/pom.xml b/org.eclipse.jdt.debug/pom.xml
index bd907ba..e6b4d82 100644
--- a/org.eclipse.jdt.debug/pom.xml
+++ b/org.eclipse.jdt.debug/pom.xml
@@ -14,7 +14,7 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.debug</artifactId>
diff --git a/org.eclipse.jdt.launching.macosx/pom.xml b/org.eclipse.jdt.launching.macosx/pom.xml
index 18e1244..cb49bbe 100644
--- a/org.eclipse.jdt.launching.macosx/pom.xml
+++ b/org.eclipse.jdt.launching.macosx/pom.xml
@@ -14,7 +14,7 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.launching.macosx</artifactId>
diff --git a/org.eclipse.jdt.launching.ui.macosx/pom.xml b/org.eclipse.jdt.launching.ui.macosx/pom.xml
index 70ad729..9b4a485 100644
--- a/org.eclipse.jdt.launching.ui.macosx/pom.xml
+++ b/org.eclipse.jdt.launching.ui.macosx/pom.xml
@@ -14,7 +14,7 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.launching.ui.macosx</artifactId>
diff --git a/org.eclipse.jdt.launching/META-INF/MANIFEST.MF b/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
index 692d8fe..3873dc2 100644
--- a/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.launching/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jdt.launching; singleton:=true
-Bundle-Version: 3.19.0.qualifier
+Bundle-Version: 3.19.100.qualifier
 Bundle-Activator: org.eclipse.jdt.internal.launching.LaunchingPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.jdt.launching/pom.xml b/org.eclipse.jdt.launching/pom.xml
index ed03b9f..e59122d 100644
--- a/org.eclipse.jdt.launching/pom.xml
+++ b/org.eclipse.jdt.launching/pom.xml
@@ -14,11 +14,11 @@
   <parent>
     <artifactId>eclipse.jdt.debug</artifactId>
     <groupId>eclipse.jdt.debug</groupId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.launching</artifactId>
-  <version>3.19.0-SNAPSHOT</version>
+  <version>3.19.100-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <build>
diff --git a/pom.xml b/pom.xml
index 6ef32d1..2a0aaa9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
   <parent>
     <groupId>org.eclipse</groupId>
     <artifactId>eclipse-platform-parent</artifactId>
-    <version>4.18.0-SNAPSHOT</version>
+    <version>4.19.0-SNAPSHOT</version>
     <relativePath>../eclipse-platform-parent</relativePath>
   </parent>