Update @since tags to 3.10
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java
index 74587e5..eb15a96 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java
@@ -379,7 +379,7 @@
 	/** @since 3.0 */
 	int IndirectAccessToStaticType = Internal + TypeRelated + 18;
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ReturnTypeMismatch = TypeRelated + 19;
 
 	/**
@@ -455,7 +455,7 @@
 	int DuplicateBlankFinalFieldInitialization = FieldRelated + 82;
 	/** @since 3.6 */
 	int UnresolvedVariable = FieldRelated + 83;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NonStaticOrAlienTypeReceiver = MethodRelated + 84;
 	// variable hiding
 	/** @since 3.0 */
@@ -472,11 +472,11 @@
 	int ArgumentHidingField = Internal + 95;
 	/** @since 3.1 */
 	int MissingSerialVersion = Internal + 96;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int LambdaRedeclaresArgument = Internal + 97;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int LambdaRedeclaresLocal = Internal + 98;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int LambdaDescriptorMentionsUnmentionable = 99;
 
 	// methods
@@ -508,17 +508,17 @@
 	int MethodCanBeStatic = Internal + MethodRelated + 121;
 	/** @since 3.7 */
 	int MethodCanBePotentiallyStatic = Internal + MethodRelated + 122;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int MethodReferenceSwingsBothWays = Internal + MethodRelated + 123;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int StaticMethodShouldBeAccessedStatically = Internal + MethodRelated + 124;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int InvalidArrayConstructorReference = Internal + MethodRelated + 125;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ConstructedArrayIncompatible = Internal + MethodRelated + 126;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DanglingReference = Internal + MethodRelated + 127;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IncompatibleMethodReference = Internal + MethodRelated + 128;
 
 	// constructors
@@ -666,7 +666,7 @@
 	/** @since 2.1 */
 	int InvalidParenthesizedExpression = Syntax + Internal + 225;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NoSuperInInterfaceContext = Syntax + Internal + 226;
 
 	/** @since 3.0 */
@@ -728,7 +728,7 @@
 	/** @since 3.7.1 */
 	int IllegalHexaLiteral = Syntax + Internal + 270;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int MissingTypeInLambda = MethodRelated + 271;
 
 	// type related problems
@@ -957,7 +957,7 @@
 	/** @since 3.2 */
 	int EnumConstantsCannotBeSurroundedByParenthesis = Syntax + Internal + 442;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalUseOfUnderscoreAsAnIdentifier = Syntax + Internal + 443;
 
 	 /** @since 3.10 */
@@ -1389,51 +1389,51 @@
 	int UnusedWarningToken = Internal + 635;
 	/** @since 3.6 */
 	int MissingOverrideAnnotationForInterfaceMethodImplementation = MethodRelated + 636;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
     int InvalidUsageOfTypeAnnotations = Syntax + Internal + 637;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int DisallowedExplicitThisParameter = Syntax + Internal + 638;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int MisplacedTypeAnnotations = Syntax + Internal + 639;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalTypeAnnotationsInStaticMemberAccess = Internal + Syntax + 640;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalUsageOfTypeAnnotations = Internal + Syntax + 641;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalDeclarationOfThisParameter = Internal + Syntax + 642;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int ExplicitThisParameterNotBelow18 = Internal + Syntax + 643;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int DefaultMethodNotBelow18 = Internal + Syntax + 644;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int LambdaExpressionNotBelow18 = Internal + Syntax + 645;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int MethodReferenceNotBelow18 = Internal + Syntax + 646;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int ConstructorReferenceNotBelow18 = Internal + Syntax + 647;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int ExplicitThisParameterNotInLambda = Internal + Syntax + 648;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int ExplicitAnnotationTargetRequired = TypeRelated + 649;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalTypeForExplicitThis = Internal + Syntax + 650;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalQualifierForExplicitThis = Internal + Syntax + 651;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalQualifierForExplicitThis2 = Internal + Syntax + 652;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int TargetTypeNotAFunctionalInterface = Internal + TypeRelated + 653;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IllegalVarargInLambda = Internal + TypeRelated + 654;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int illFormedParameterizationOfFunctionalInterface = Internal + TypeRelated + 655;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int lambdaSignatureMismatched = Internal + TypeRelated + 656;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int lambdaParameterTypeMismatched = Internal + TypeRelated + 657;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int IncompatibleLambdaParameterType = Internal + TypeRelated + 658;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int NoGenericLambda = Internal + TypeRelated + 659;
     /**
 	 * More problems in generics
@@ -1444,13 +1444,13 @@
 	int UnusedTypeParameter = TypeRelated + 661;
 	/** @since 3.9 */
 	int IllegalArrayOfUnionType = TypeRelated + 662;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int OuterLocalMustBeEffectivelyFinal = Internal + 663;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int InterfaceNotFunctionalInterface = Internal + TypeRelated + 664;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ConstructionTypeMismatch = Internal + TypeRelated + 665;
-    /** @since 3.9 BETA_JAVA8 */
+    /** @since 3.10 */
     int ToleratedMisplacedTypeAnnotations = Syntax + Internal + 666;
 
 
@@ -1557,7 +1557,7 @@
 	int VarargsElementTypeNotVisible = MethodRelated + 807;
 	/** @since 3.8 */
 	int VarargsElementTypeNotVisibleForConstructor = ConstructorRelated + 808;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ApplicableMethodOverriddenByInapplicable = MethodRelated + 809;
 
 	/**
@@ -1629,23 +1629,23 @@
 	int ExplicitlyClosedAutoCloseable = Internal + 889;
 	/** @since 3.8 */
 	int SwitchOnEnumNotBelow15 = TypeRelated + 890;	// https://bugs.eclipse.org/bugs/show_bug.cgi?id=360317
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IntersectionCastNotBelow18 = TypeRelated + 891;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalBasetypeInIntersectionCast = TypeRelated + 892;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalArrayTypeInIntersectionCast = TypeRelated + 893;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DuplicateBoundInIntersectionCast = TypeRelated + 894;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int MultipleFunctionalInterfaces = TypeRelated + 895;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int StaticInterfaceMethodNotBelow18 = Internal + Syntax + 896;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DuplicateAnnotationNotMarkedRepeatable = TypeRelated + 897;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DisallowedTargetForContainerAnnotationType = TypeRelated + 898;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RepeatedAnnotationWithContainerAnnotation = TypeRelated + 899;
 	
 	/**
@@ -1660,21 +1660,21 @@
 	/** @since 3.2 */
 	int ExternalProblemFixable = 901;
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContainerAnnotationTypeHasWrongValueType = TypeRelated + 902;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContainerAnnotationTypeMustHaveValue = TypeRelated + 903;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContainerAnnotationTypeHasNonDefaultMembers = TypeRelated + 904;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContainerAnnotationTypeHasShorterRetention = TypeRelated + 905;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RepeatableAnnotationTypeTargetMismatch = TypeRelated + 906;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RepeatableAnnotationTypeIsDocumented = TypeRelated + 907;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RepeatableAnnotationTypeIsInherited = TypeRelated + 908;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RepeatableAnnotationWithRepeatingContainerAnnotation = TypeRelated + 909;
 	
 	/**
@@ -1742,85 +1742,85 @@
 	int ConflictingNullAnnotations = MethodRelated + 939;
 	/** @since 3.9 */
 	int ConflictingInheritedNullAnnotations = MethodRelated + 940;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RedundantNullCheckOnField = Internal + 941;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int FieldComparisonYieldsFalse = Internal + 942;
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ArrayReferencePotentialNullReference = Internal + 951;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DereferencingNullableExpression = Internal + 952;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullityMismatchingTypeAnnotation = Internal + 953;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullityMismatchingTypeAnnotationSuperHint = Internal + 954;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullityUncheckedTypeAnnotationDetail = Internal + 955;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullityUncheckedTypeAnnotationDetailSuperHint = Internal + 956;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ReferenceExpressionParameterNullityMismatch = MethodRelated + 957;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ReferenceExpressionParameterNullityUnchecked = MethodRelated + 958;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ReferenceExpressionReturnNullRedef = MethodRelated + 959;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ReferenceExpressionReturnNullRedefUnchecked = MethodRelated + 960;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int RedundantNullCheckAgainstNonNullType = Internal + 961;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullAnnotationUnsupportedLocation = Internal + 962;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullAnnotationUnsupportedLocationAtType = Internal + 963;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NullityMismatchTypeArgument = Internal + 964;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContradictoryNullAnnotationsOnBound = Internal + 965;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int ContradictoryNullAnnotationsInferred = Internal + 966;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int UnsafeNullnessCast = Internal + 967;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int NonNullDefaultDetailIsNotEvaluated = 968;
 
 	// Java 8 work
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalModifiersForElidedType = Internal + 1001;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalModifiers = Internal + 1002;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalTypeArgumentsInRawConstructorReference = TypeRelated + 1003;
 
 	// default methods:
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalModifierForInterfaceMethod18 = MethodRelated + 1050;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DefaultMethodOverridesObjectMethod = MethodRelated + 1051;
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int InheritedDefaultMethodConflictsWithOtherInherited = MethodRelated + 1052;
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int DuplicateInheritedDefaultMethods = MethodRelated + 1053;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int SuperAccessCannotBypassDirectSuper = TypeRelated + 1054;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int SuperCallCannotBypassOverride = MethodRelated + 1055;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalModifierCombinationForInterfaceMethod = MethodRelated + 1056;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalStrictfpForAbstractInterfaceMethod = MethodRelated + 1057;
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int IllegalDefaultModifierSpecification = MethodRelated + 1058;
 
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int GenericInferenceError = 1100; 	// FIXME: This is just a stop-gap measure, be more specific via https://bugs.eclipse.org/404675
 	
-	/** @since 3.9 BETA_JAVA8 */
+	/** @since 3.10 */
 	int LambdaShapeComputationError = 1101;
 
 //{ObjectTeams:
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
index 34d4984..db03223 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching.java
@@ -36,7 +36,7 @@
 /**
  * Performs matching of null type annotations.
  * Instances are used to encode result from this analysis.
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public class NullAnnotationMatching {
 	
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java
index 6a311d9..386a86c 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/TagBits.java
@@ -182,7 +182,7 @@
 				| AnnotationRepeatable;
 	
 	long AnnotationNullMASK = AnnotationNullable | AnnotationNonNull;
-	/** @since 3.9_BETA_JAVA8 marks a type that has a nullness annotation directly or on a detail (array dimension/type argument). */
+	/** @since 3.10 marks a type that has a nullness annotation directly or on a detail (array dimension/type argument). */
 	long HasNullTypeAnnotation = ASTNode.Bit21;
 
 	long HasTypeAnnotations = ASTNode.Bit22;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java
index 3c30bbf..0482311 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java
@@ -172,7 +172,7 @@
 	/**
 	 * Internal synonym for {@link #JLS4}. Use to alleviate
 	 * deprecation warnings.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	/*package*/ static final int JLS4_INTERNAL = JLS4;
 	
@@ -188,7 +188,7 @@
 	 * up to and including Java SE 8 (aka JDK 1.8).
 	 * </p>
 	 *
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int JLS8 = 8;
 
@@ -1482,7 +1482,7 @@
 	 * 
 	 * @return a new unparented creation reference expression node
 	 * @exception UnsupportedOperationException if this operation is used in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public CreationReference newCreationReference() {
 		CreationReference result = new CreationReference(this);
@@ -1563,7 +1563,7 @@
 	 * 
 	 * @return a new unparented expression method reference expression node
 	 * @exception UnsupportedOperationException if this operation is used in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public ExpressionMethodReference newExpressionMethodReference() {
 		ExpressionMethodReference result = new ExpressionMethodReference(this);
@@ -1607,7 +1607,7 @@
 	 * </ul>
 	 * @exception UnsupportedOperationException if this operation is used
 	 *            in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public Dimension newDimension() {
 		Dimension result = new Dimension(this);
@@ -1826,7 +1826,7 @@
 	 * 
 	 * @return a new unparented lambda expression node
 	 * @exception UnsupportedOperationException if this operation is used in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public LambdaExpression newLambdaExpression() {
 		LambdaExpression result = new LambdaExpression(this);
@@ -2175,7 +2175,7 @@
 	 * </ul>
 	 * @exception UnsupportedOperationException if this operation is used in
 	 * a JLS2, JLS3 and JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public NameQualifiedType newNameQualifiedType(Name qualifier, SimpleName name) {
 		NameQualifiedType result = new NameQualifiedType(this);
@@ -2504,7 +2504,7 @@
 	 * and there is no qualifier and no type arguments.
 	 *
 	 * @return a new unparented super method reference node
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public SuperMethodReference newSuperMethodReference() {
 		SuperMethodReference result = new SuperMethodReference(this);
@@ -2725,7 +2725,7 @@
 	 * 
 	 * @return a new unparented type method reference node
 	 * @exception UnsupportedOperationException if this operation is used in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public TypeMethodReference newTypeMethodReference() {
 		TypeMethodReference result = new TypeMethodReference(this);
@@ -2766,7 +2766,7 @@
 	 * @return a new unparented IntersectionType node
 	 * @exception UnsupportedOperationException if this operation is used in
 	 * a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public IntersectionType newIntersectionType() {
 		return new IntersectionType(this);
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java
index 9bc6f76..df58990 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTMatcher.java
@@ -709,7 +709,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(CreationReference node, Object other) {
 		if (!(other instanceof CreationReference)) {
@@ -734,7 +734,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(Dimension node, Object other) {
 		if (!(other instanceof Dimension)) {
@@ -889,7 +889,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(ExpressionMethodReference node, Object other) {
 		if (!(other instanceof ExpressionMethodReference)) {
@@ -1170,7 +1170,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(IntersectionType node, Object other) {
 		if (!(other instanceof IntersectionType)) {
@@ -1269,7 +1269,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(LambdaExpression node, Object other) {
 		if (!(other instanceof LambdaExpression)) {
@@ -1558,7 +1558,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(NameQualifiedType node, Object other) {
 		if (!(other instanceof NameQualifiedType)) {
@@ -2086,7 +2086,7 @@
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
 	 *   
-	 *   @since 3.9 BETA_JAVA8
+	 *   @since 3.10
 	 */
 	public boolean match(SuperMethodReference node, Object other) {
 		if (!(other instanceof SuperMethodReference)) {
@@ -2403,7 +2403,7 @@
 	 * @return <code>true</code> if the subtree matches, or
 	 *   <code>false</code> if they do not match or the other object has a
 	 *   different node type or is <code>null</code>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean match(TypeMethodReference node, Object other) {
 		if (!(other instanceof TypeMethodReference)) {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
index 74a1614..77ea4aa 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
@@ -837,7 +837,7 @@
 	 * <code>Dimension</code>.
 	 *
 	 * @see Dimension
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int DIMENSION = 85;
 
@@ -845,7 +845,7 @@
 	 * Node type constant indicating a node of type
 	 * <code>LambdaExpression</code>.
 	 * @see LambdaExpression
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int LAMBDA_EXPRESSION = 86;
 
@@ -854,7 +854,7 @@
 	 * <code>IntersectionType</code>.
 	 *
 	 * @see IntersectionType
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int INTERSECTION_TYPE = 87;
 
@@ -2093,7 +2093,7 @@
      * </p>
      * 
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final void unsupportedIn2_3_4() {
 		if (this.ast.apiLevel < AST.JLS8) {
@@ -2126,7 +2126,7 @@
      * </p>
      * 
 	 * @exception UnsupportedOperationException if this operation is used in an AST later than JLS4
-     * @since 3.9 BETA_JAVA8
+     * @since 3.10
      */
 	// In API Javadocs, add: * @deprecated In the JLS8 API, this method is replaced by {@link #replacement()}.
 	final void supportedOnlyIn2_3_4() {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java
index 919dfcd..34dff7a 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTVisitor.java
@@ -540,7 +540,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(CreationReference node) {
 		return true;
@@ -557,7 +557,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(Dimension node) {
 		return true;
@@ -657,7 +657,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(ExpressionMethodReference node) {
 		return true;
@@ -818,7 +818,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(IntersectionType node) {
 		return true;
@@ -874,7 +874,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(LambdaExpression node) {
 		return true;
@@ -1054,7 +1054,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(NameQualifiedType node) {
 		return true;
@@ -1397,7 +1397,7 @@
 	 * @return <code>true</code> if the children of this node should be
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(SuperMethodReference node) {
 		return true;
@@ -1595,7 +1595,7 @@
 	 * visited, and <code>false</code> if the children of this node should
 	 * be skipped
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(TypeMethodReference node) {
 		return true;
@@ -2245,7 +2245,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(CreationReference node) {
 		// default implementation: do nothing
@@ -2321,7 +2321,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(ExpressionMethodReference node) {
 		// default implementation: do nothing
@@ -2346,7 +2346,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(Dimension node) {
 		// do nothing by default
@@ -2479,7 +2479,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(LambdaExpression node) {
 		// default implementation: do nothing
@@ -2612,7 +2612,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(NameQualifiedType node) {
 		// default implementation: do nothing
@@ -2869,7 +2869,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(SuperMethodReference node) {
 		// default implementation: do nothing
@@ -3016,7 +3016,7 @@
 	 *
 	 * @param node the node to visit
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(TypeMethodReference node) {
 		// default implementation: do nothing
@@ -3055,7 +3055,7 @@
 	 * </p>
 	 *
 	 * @param node the node to visit
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void endVisit(IntersectionType node) {
 		// default implementation: do nothing
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AnnotatableType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AnnotatableType.java
index ae3b2c3..ece72c5 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AnnotatableType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AnnotatableType.java
@@ -25,7 +25,7 @@
  * <code>modifiers()</code> list.
  * </p>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public abstract class AnnotatableType extends Type {
 	
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ArrayType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ArrayType.java
index a87eb67..fbb7332 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ArrayType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ArrayType.java
@@ -57,14 +57,14 @@
 	/**
 	 * The "elementType" structural property of this node type (child type: {@link Type}) (added in JLS8 API).
 	 * Cannot be an array type.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildPropertyDescriptor ELEMENT_TYPE_PROPERTY =
 			new ChildPropertyDescriptor(ArrayType.class, "elementType", Type.class, MANDATORY, CYCLE_RISK); //$NON-NLS-1$	
 	
 	/**
 	 * The "dimensions" structural property of this node type (element type: {@link Dimension}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor DIMENSIONS_PROPERTY =
 			new ChildListPropertyDescriptor(ArrayType.class, "dimensions", Dimension.class, CYCLE_RISK); //$NON-NLS-1$	
@@ -78,7 +78,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -129,7 +129,7 @@
 	 * Null before JLS8. Added in JLS8; defaults to a list with one element
 	 * (see constructor).
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private ASTNode.NodeList dimensions = null;
 
@@ -160,7 +160,7 @@
 	* @param ast the AST that is to own this node
 	* @param dimensions no of dimensions - can be zero
 	*
-	* @since 3.9 BETA_JAVA8
+	* @since 3.10
 	*/
 	ArrayType(AST ast, int dimensions) {
 		super(ast);
@@ -353,7 +353,7 @@
 	 * <li>the node is an array type</li>
 	 * </ul>
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void setElementType(Type type) {
 		unsupportedIn2_3_4();
@@ -396,7 +396,7 @@
 	 * 
 	 * @return the live list of dimensions with optional annotations (element type: {@link Dimension})
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List dimensions() {
 		// more efficient than just calling unsupportedIn2_3_4() to check
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BindingResolver.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BindingResolver.java
index a495189..4d69ce4 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BindingResolver.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BindingResolver.java
@@ -599,7 +599,7 @@
 	 * @param methodReference the  method reference of interest
 	 * @return the binding for the given  method reference, or
 	 *    <code>null</code> if no binding is available
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	IMethodBinding resolveMethod(MethodReference methodReference) {
 		return null;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CreationReference.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CreationReference.java
index 4cbb2a3..d112df3 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CreationReference.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/CreationReference.java
@@ -23,7 +23,7 @@
  *         <b>new</b>
  * </pre>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class CreationReference extends MethodReference {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Dimension.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Dimension.java
index 2540958..c328771 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Dimension.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Dimension.java
@@ -29,7 +29,7 @@
  * 	{ Annotation } <b>[]</b>
  * </pre>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class Dimension extends ASTNode {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ExpressionMethodReference.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
index 9ea2069..dd0f057 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ExpressionMethodReference.java
@@ -22,7 +22,7 @@
  *         Identifier
  * </pre>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class ExpressionMethodReference extends MethodReference {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodBinding.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodBinding.java
index 739701f..36bbf3d 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodBinding.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IMethodBinding.java
@@ -159,7 +159,7 @@
 	 * @return the type of this method's receiver or <code>null</code> 
 	 * if there is no receiver declared explicitly.
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public ITypeBinding getDeclaredReceiverType();
 	
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ITypeBinding.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ITypeBinding.java
index 09bb2b6..5da4239 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ITypeBinding.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ITypeBinding.java
@@ -320,7 +320,7 @@
 	 * @return the single abstract method that represents the single function contract, or
 	 * <code>null</code> if the receiver is not a functional interface type
 	 *
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public IMethodBinding getFunctionalInterfaceMethod();
 
@@ -541,7 +541,7 @@
 	 * no type use annotations are found.
 	 * @see #getTypeDeclaration()
 	 * @see #getKey()
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public IAnnotationBinding[] getTypeAnnotations();
 
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java
index 07ea4bf..d97cbf8 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java
@@ -165,7 +165,7 @@
 	 *
 	 * @return <code>true</code> if this is an effectively final local variable
 	 * 				and <code>false</code> otherwise
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean isEffectivelyFinal();
 }
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IntersectionType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IntersectionType.java
index 442254e..b474a40 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IntersectionType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IntersectionType.java
@@ -24,7 +24,7 @@
  * This kind of node is used only inside a cast expression.
  * </p>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class IntersectionType extends Type {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/LambdaExpression.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/LambdaExpression.java
index 7a48cb4..7a9ac9a 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/LambdaExpression.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/LambdaExpression.java
@@ -27,7 +27,7 @@
  * while the third form uses {@link SingleVariableDeclaration}.</p>
  *<p>The Body can be either a {@link Block} or an {@link Expression}.</p>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients 
  */
 public class LambdaExpression extends Expression {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
index 817947b..0a91977 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java
@@ -123,7 +123,7 @@
 	
 	/**
 	 * The "extraDimensions2" structural property of this node type (element type: {@link Dimension}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor EXTRA_DIMENSIONS2_PROPERTY =
 			new ChildListPropertyDescriptor(MethodDeclaration.class, "extraDimensions2", Dimension.class, NO_CYCLE_RISK); //$NON-NLS-1$
@@ -144,14 +144,14 @@
 
 	/**
 	 * The "receiverType" structural property of this node type (child type: {@link Type}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildPropertyDescriptor RECEIVER_TYPE_PROPERTY =
 			new ChildPropertyDescriptor(MethodDeclaration.class, "receiverType", Type.class, OPTIONAL, NO_CYCLE_RISK); //$NON-NLS-1$
 	
 	/**
 	 * The "receiverQualifier" structural property of this node type (child type: {@link SimpleName}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildPropertyDescriptor RECEIVER_QUALIFIER_PROPERTY =
 			new ChildPropertyDescriptor(MethodDeclaration.class, "receiverQualifier", SimpleName.class, OPTIONAL, NO_CYCLE_RISK); //$NON-NLS-1$
@@ -166,7 +166,7 @@
 
 	/**
 	 * The "thrownExceptionTypes" structural property of this node type (element type: {@link Type}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor THROWN_EXCEPTION_TYPES_PROPERTY =
 		new ChildListPropertyDescriptor(MethodDeclaration.class, "thrownExceptionTypes", Type.class, NO_CYCLE_RISK); //$NON-NLS-1$
@@ -207,7 +207,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -299,14 +299,14 @@
 	/**
 	 * The explicit receiver type, or <code>null</code> if none.
 	 * Defaults to none.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private Type optionalReceiverType = null;
 	
 	/**
 	 * Qualifying name of the explicit </code>this</code> parameter, or <code>null</code> if none.
 	 * Defaults to none.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private SimpleName optionalReceiverQualifier = null;
 
@@ -355,7 +355,7 @@
 	 * Null before JLS8. Added in JLS8; defaults to an empty list
 	 * (see constructor).
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private ASTNode.NodeList extraDimensions = null;
 
@@ -372,7 +372,7 @@
 	 * Null before JLS8. Added in JLS8; defaults to an empty list
 	 * (see constructor).
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private ASTNode.NodeList thrownExceptionTypes = null;
 
@@ -771,7 +771,7 @@
 	 *
 	 * @return the receiver type or <code>null</code> if receiver is not declared explicitly
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public Type getReceiverType() {
 		unsupportedIn2_3_4();
@@ -786,7 +786,7 @@
 	 * 
 	 * @param receiverType type of the explicit receiver parameter, or <code>null</code> if there is none
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void setReceiverType(Type receiverType) {
 		unsupportedIn2_3_4();
@@ -804,7 +804,7 @@
 	 * 
 	 * @returns the qualifying name or <code>null</code> if a qualifier was not specified
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public SimpleName getReceiverQualifier() {
 		unsupportedIn2_3_4();
@@ -816,7 +816,7 @@
 	 * 
 	 * @param receiverQualifier explicit receiver parameter to be added to the method declaration
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void setReceiverQualifier(SimpleName receiverQualifier) {
 		unsupportedIn2_3_4();
@@ -881,7 +881,7 @@
 	 * deprecation warnings.
 	 * @exception UnsupportedOperationException if this operation is used in
 	 *    a JLS8 or later AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	/*package*/	List internalThrownExceptions() {
 		// more efficient than just calling supportedOnlyIn2_3_4() to check
@@ -899,7 +899,7 @@
 	 *    (element type: {@link Type})
 	 * @exception UnsupportedOperationException if this operation is used
 	 *            in a JLS2, JLS3 or JLS4 AST    
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List thrownExceptionTypes()  {
 		if (this.thrownExceptionTypes == null) {
@@ -1124,7 +1124,7 @@
 	 * 
 	 * @return the live list of extra dimensions with optional annotations (element type: {@link Dimension})
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List extraDimensions() {
 		// more efficient than just calling unsupportedIn2_3_4() to check
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodReference.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodReference.java
index 39d424d..6c8fbea 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodReference.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodReference.java
@@ -34,7 +34,7 @@
  * @see ExpressionMethodReference
  * @see SuperMethodReference
  * @see TypeMethodReference
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public abstract class MethodReference extends Expression {
 
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java
index ab504f2..de259af 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Modifier.java
@@ -101,7 +101,7 @@
 		 * Note that the value of this modifier is
 		 * internal and is not specified in the Java Virtual Machine Specification.
 		 * </p>
-		 * @since 3.9 BETA_JAVA8
+		 * @since 3.10
 		 */
 		public static final ModifierKeyword DEFAULT_KEYWORD = new ModifierKeyword("default", DEFAULT);//$NON-NLS-1$
 
@@ -355,7 +355,7 @@
 	 * Note that the value of this flag is internal and is not
 	 * specified in the Java Virtual Machine Specification.
 	 * </p>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int DEFAULT = 0x10000;
 
@@ -569,7 +569,7 @@
 	 * @param flags the modifier flags
 	 * @return <code>true</code> if the <code>DEFAULT</code> bit is set
 	 * and <code>false</code> otherwise
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static boolean isDefault(int flags) {
 		return (flags & DEFAULT) != 0;
@@ -890,7 +890,7 @@
 	/**
 	 * Answer true if the receiver is the default modifier, false otherwise.
 	 * @return true if the receiver is the default modifier, false otherwise
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean isDefault() {
 		return this.modifierKeyword == ModifierKeyword.DEFAULT_KEYWORD;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NameQualifiedType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NameQualifiedType.java
index b8f8119..3ead235 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NameQualifiedType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/NameQualifiedType.java
@@ -34,7 +34,7 @@
  * @see SimpleType
  * @see QualifiedType
  * 
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class NameQualifiedType extends AnnotatableType {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/PrimitiveType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/PrimitiveType.java
index 29571b9..93fc3e6 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/PrimitiveType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/PrimitiveType.java
@@ -157,7 +157,7 @@
 
 	/**
 	 * The "annotations" structural property of this node type (element type: {@link Annotation}).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY =
 			internalAnnotationsPropertyFactory(PrimitiveType.class);
@@ -179,7 +179,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 	static {
@@ -232,7 +232,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on AnnotatableType.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalAnnotationsProperty() {
 		return ANNOTATIONS_PROPERTY;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/QualifiedType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/QualifiedType.java
index a31f542..9ea8dcc 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/QualifiedType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/QualifiedType.java
@@ -81,7 +81,7 @@
 
 	/**
 	 * The "annotations" structural property of this node type (element type: {@link Annotation}).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY =
 			internalAnnotationsPropertyFactory(QualifiedType.class);
@@ -102,7 +102,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -169,7 +169,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on AnnotatableType.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalAnnotationsProperty() {
 		return ANNOTATIONS_PROPERTY;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SimpleType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SimpleType.java
index 341357e..f19293c 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SimpleType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SimpleType.java
@@ -40,7 +40,7 @@
 
 	/**
 	 * The "annotations" structural property of this node type (element type: {@link Annotation}).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY =
 			internalAnnotationsPropertyFactory(SimpleType.class);
@@ -62,7 +62,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -121,7 +121,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on AnnotatableType.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalAnnotationsProperty() {
 		return ANNOTATIONS_PROPERTY;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
index 6a50573..37f08e3 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java
@@ -59,7 +59,7 @@
 	/**
 	 * The "varargsAnnotations" structural property of variable arguments of this node type (element type: {@link Annotation})
 	 * (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor VARARGS_ANNOTATIONS_PROPERTY =
 			new ChildListPropertyDescriptor(SingleVariableDeclaration.class, "varargsAnnotations", Annotation.class, CYCLE_RISK); //$NON-NLS-1$
@@ -90,7 +90,7 @@
 
 	/**
 	 * The "extraDimensions2" structural property of this node type (element type: {@link Dimension}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor EXTRA_DIMENSIONS2_PROPERTY =
 			internalExtraDimensions2PropertyFactory(SingleVariableDeclaration.class);
@@ -122,7 +122,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -204,7 +204,7 @@
 	 * Null before JLS8. Added in JLS8; defaults to an empty list
 	 * (see constructor).
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private ASTNode.NodeList varargsAnnotations = null;
 
@@ -289,7 +289,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on VariableDeclaration.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalExtraDimensions2Property() {
 		return EXTRA_DIMENSIONS2_PROPERTY;
@@ -641,7 +641,7 @@
 	 * @return the list of annotations on the varargs token (element type: {@link Annotation})
 	 * @exception UnsupportedOperationException if this operation is used
 	 *            in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List varargsAnnotations() {
 		if (this.varargsAnnotations == null) {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperMethodReference.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperMethodReference.java
index 567d73e..34e3f4b 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperMethodReference.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SuperMethodReference.java
@@ -23,7 +23,7 @@
  *         Identifier
  * </pre>
  * 
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients
  */
 public class SuperMethodReference extends MethodReference {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Type.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Type.java
index f7c4f72..494b2be 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Type.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Type.java
@@ -119,7 +119,7 @@
 	 *
 	 * @return <code>true</code> if this is a name qualified type, and
 	 *    <code>false</code> otherwise
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public final boolean isNameQualifiedType() {
 		return (this instanceof NameQualifiedType);
@@ -183,7 +183,7 @@
 	 *
 	 * @return <code>true</code> if this is an intersection type, and
 	 * 		<code>false</code> otherwise
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public final boolean isIntersectionType() {
 		return (this instanceof IntersectionType);
@@ -212,7 +212,7 @@
 	 * @return <code>true</code> if this type is an instance of {@link AnnotatableType}, and
 	 * <code>false</code> otherwise
 	 * 			
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean isAnnotatable() {
 		return (this instanceof AnnotatableType);
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeMethodReference.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeMethodReference.java
index 628d8b8..380adb7 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeMethodReference.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeMethodReference.java
@@ -22,7 +22,7 @@
  *         Identifier
  * </pre>
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noinstantiate This class is not intended to be instantiated by clients.
  */
 public class TypeMethodReference extends MethodReference {
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeParameter.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeParameter.java
index c1a8765..8f2bfa5 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeParameter.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeParameter.java
@@ -31,7 +31,7 @@
 
 	/**
 	 * The "modifiers" structural property of this node type (element type: {@link IExtendedModifier}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor MODIFIERS_PROPERTY =
 			new ChildListPropertyDescriptor(TypeParameter.class, "modifiers", IExtendedModifier.class, CYCLE_RISK); //$NON-NLS-1$
@@ -65,7 +65,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -329,7 +329,7 @@
 	 * @return the live list of modifiers (element type: {@link IExtendedModifier})
 	 * @exception UnsupportedOperationException if this operation is used
 	 *            in a JLS2, JLS3 or JLS4 AST
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List modifiers() {
 		// more efficient than just calling unsupportedIn2_3_4() to check
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclaration.java
index e06343f..295d412 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclaration.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclaration.java
@@ -51,7 +51,7 @@
 	 * Null before JLS8. Added in JLS8; defaults to an empty list
 	 * (see constructor).
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	ASTNode.NodeList extraDimensions = null;
 
@@ -150,7 +150,7 @@
 	 * of this node (element type: {@link Dimension}) (added in JLS8 API).
 	 *
 	 * @return the property descriptor
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	abstract ChildListPropertyDescriptor internalExtraDimensions2Property();
 	
@@ -159,7 +159,7 @@
 	 * of this node (element type: {@link Dimension}) (added in JLS8 API).
 	 *
 	 * @return the property descriptor
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public final ChildListPropertyDescriptor getExtraDimensions2Property() {
 		return internalExtraDimensions2Property();
@@ -298,7 +298,7 @@
 	/**
 	 * Internal synonym for deprecated method. Used to avoid
 	 * deprecation warnings.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final void internalSetExtraDimensions(int dimensions) {
 		// more efficient than just calling supportedOnlyIn2_3_4() to check
@@ -319,7 +319,7 @@
 	 *
 	 * @return the live list of extra dimensions with optional annotations (element type: {@link Dimension})
 	 * @exception UnsupportedOperationException if this operation is used below JLS8
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public List extraDimensions() {
 		// more efficient than just calling unsupportedIn2_3_4() to check
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationFragment.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationFragment.java
index 948d1f5..0405c65 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationFragment.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationFragment.java
@@ -50,7 +50,7 @@
 
 	/**
 	 * The "extraDimensions2" structural property of this node type (element type: {@link Dimension}) (added in JLS8 API).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor EXTRA_DIMENSIONS2_PROPERTY =
 			internalExtraDimensions2PropertyFactory(VariableDeclarationFragment.class);
@@ -74,7 +74,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -144,7 +144,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on VariableDeclaration.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalExtraDimensions2Property() {
 		return EXTRA_DIMENSIONS2_PROPERTY;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/WildcardType.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/WildcardType.java
index c33c43a..9bbb3d0 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/WildcardType.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/WildcardType.java
@@ -34,7 +34,7 @@
 
 	/**
 	 * The "annotations" structural property of this node type (element type: {@link Annotation}).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final ChildListPropertyDescriptor ANNOTATIONS_PROPERTY =
 			internalAnnotationsPropertyFactory(WildcardType.class);
@@ -61,7 +61,7 @@
 	 * A list of property descriptors (element type:
 	 * {@link StructuralPropertyDescriptor}),
 	 * or null if uninitialized.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final List PROPERTY_DESCRIPTORS_8_0;
 
@@ -130,7 +130,7 @@
 
 	/* (omit javadoc for this method)
 	 * Method declared on AnnotatableType.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	final ChildListPropertyDescriptor internalAnnotationsProperty() {
 		return ANNOTATIONS_PROPERTY;
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
index cd9c30b..8dcd4af 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/rewrite/ImportRewrite.java
@@ -451,7 +451,7 @@
 	 * @return an annotation node. The returned annotation contains unqualified type names where
 	 * an import could be added or was already known. Type names are fully qualified if an import conflict prevented an import.
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public Annotation addAnnotation(IAnnotationBinding annotation, AST ast, ImportRewriteContext context) {
 		Type type = addImport(annotation.getAnnotationType(), ast, context);
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
index c3cacb9..ec61e16 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
@@ -61,7 +61,7 @@
 	 * Internal synonym for {@link AST#JLS4}. Use to alleviate
 	 * deprecation warnings.
 	 * @deprecated
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static final int JLS4 = AST.JLS4;
 
@@ -133,7 +133,7 @@
 	 * Internal synonym for {@link MethodDeclaration#thrownExceptions()}. Use to alleviate
 	 * deprecation warnings.
 	 * @deprecated
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	private static List thrownExceptions(MethodDeclaration node) {
 		return node.thrownExceptions();
@@ -609,7 +609,7 @@
 	/*
 	 * @see ASTVisitor#visit(CreationReference)
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(CreationReference node) {
 		node.getType().accept(this);
@@ -741,7 +741,7 @@
 	/*
 	 * @see ASTVisitor#visit(ExpressionMethodReference)
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(ExpressionMethodReference node) {
 		node.getExpression().accept(this);
@@ -1210,7 +1210,7 @@
 
 	/*
 	 * @see ASTVisitor#visit(NameQualifiedType)
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(NameQualifiedType node) {
 		node.getQualifier().accept(this);
@@ -1539,7 +1539,7 @@
 	/*
 	 * @see ASTVisitor#visit(SuperMethodReference)
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(SuperMethodReference node) {
 		if (node.getQualifier() != null) {
@@ -1811,7 +1811,7 @@
 	/*
 	 * @see ASTVisitor#visit(TypeMethodReference)
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(TypeMethodReference node) {
 		node.getType().accept(this);
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java
index 47ce64b..fcad6b1 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/rewrite/ASTRewriteFlattener.java
@@ -1500,7 +1500,7 @@
 
 	/*
 	 * @see ASTVisitor#visit(NameQualifiedType)
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public boolean visit(NameQualifiedType node) {
 		getChildNode(node, NameQualifiedType.QUALIFIER_PROPERTY).accept(this);
diff --git a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.java b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.java
index 90acb1c..096876e 100644
--- a/org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.java
+++ b/org.eclipse.jdt.core/formatter/org/eclipse/jdt/core/formatter/DefaultCodeFormatterConstants.java
@@ -621,7 +621,7 @@
 	 * @see #NEXT_LINE
 	 * @see #NEXT_LINE_SHIFTED
 	 * @see #NEXT_LINE_ON_WRAP
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final String FORMATTER_BRACE_POSITION_FOR_LAMBDA_BODY = JavaCore.PLUGIN_ID + ".formatter.brace_position_for_lambda_body";	//$NON-NLS-1$
 
@@ -1411,7 +1411,7 @@
 	 * </pre>
 	 * @see JavaCore#INSERT
 	 * @see JavaCore#DO_NOT_INSERT
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final String FORMATTER_INSERT_NEW_LINE_AFTER_TYPE_ANNOTATION = JavaCore.PLUGIN_ID + ".formatter.insert_new_line_after_type_annotation";//$NON-NLS-1$
 	/**
@@ -2039,7 +2039,7 @@
 	 * </pre>
 	 * @see JavaCore#INSERT
 	 * @see JavaCore#DO_NOT_INSERT
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final String FORMATTER_INSERT_SPACE_AFTER_LAMBDA_ARROW  = JavaCore.PLUGIN_ID + ".formatter.insert_space_after_lambda_arrow";	//$NON-NLS-1$
 	/**
@@ -2976,7 +2976,7 @@
 	 * </pre>
 	 * @see JavaCore#INSERT
 	 * @see JavaCore#DO_NOT_INSERT
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final String FORMATTER_INSERT_SPACE_BEFORE_LAMBDA_ARROW = JavaCore.PLUGIN_ID + ".formatter.insert_space_before_lambda_arrow";	//$NON-NLS-1$
 	/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/Flags.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/Flags.java
index 6d3f86e..693622b 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/Flags.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/Flags.java
@@ -179,7 +179,7 @@
 	 * Note that this flag's value is internal and is not defined in the
 	 * Virtual Machine specification.
 	 * </p>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int AccDefaultMethod = ExtraCompilerModifiers.AccDefaultMethod;
 
@@ -190,7 +190,7 @@
 	 * Note that this flag's value is internal and is not defined in the
 	 * Virtual Machine specification.
 	 * </p>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static final int AccAnnotationDefault = ClassFileConstants.AccAnnotationDefault;
 	
@@ -410,7 +410,7 @@
 	 *
 	 * @return <code>true</code> if the <code>AccDefaultMethod</code> flag is included
 	 * @see #AccDefaultMethod
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static boolean isDefaultMethod(int flags) {
 		return (flags & AccDefaultMethod) != 0;
@@ -457,7 +457,7 @@
 	 *
 	 * @return <code>true</code> if the <code>AccAnnotationDefault</code> flag is included
 	 * @see #AccAnnotationDefault
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public static boolean isAnnnotationDefault(int flags) {
 		return (flags & AccAnnotationDefault) != 0;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IMethod.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IMethod.java
index 9b9511f..45c396b 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IMethod.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IMethod.java
@@ -262,7 +262,7 @@
 /**
  * Returns whether this method represents a lambda expression.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @return true if this method represents a lambda expression, false otherwise.
  */
 boolean isLambdaMethod();
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
index 4197d76..3d59b59 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
@@ -292,7 +292,7 @@
 	 * <dt>Possible values:</dt><dd><code>{ "generate", "do not generate" }</code></dd>
 	 * <dt>Default:</dt><dd><code>"do not generate"</code></dd>
 	 * </dl>
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 * @category CompilerOptionID
 	 */
 	public static final String COMPILER_CODEGEN_METHOD_PARAMETERS_ATTR = PLUGIN_ID + ".compiler.codegen.methodParameters"; //$NON-NLS-1$
@@ -2678,7 +2678,7 @@
 	public static final String VERSION_1_7 = "1.7"; //$NON-NLS-1$
 	/**
 	 * Configurable option value: {@value}.
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 * @category OptionValue
 	 */
 	public static final String VERSION_1_8 = "1.8"; //$NON-NLS-1$
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java
index 20790b4..84dd59b 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ITerminalSymbols.java
@@ -167,11 +167,11 @@
 	int TokenNamegoto = 404;  // goto not found in Java ? :)
 
 	/**
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	int TokenNameARROW = 405;
 	/**
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	int TokenNameCOLON_COLON = 406;
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ReconcileContext.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ReconcileContext.java
index c3dc57f..38eca3b 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ReconcileContext.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/compiler/ReconcileContext.java
@@ -163,7 +163,7 @@
  * <ul>
  * <li> The working copy does not exist (ELEMENT_DOES_NOT_EXIST)</li>
  * </ul>
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public org.eclipse.jdt.core.dom.CompilationUnit getAST8() throws JavaModelException {
 	if (this.operation.astLevel != AST.JLS8 || !this.operation.resolveBindings) {
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IAttributeNamesConstants.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IAttributeNamesConstants.java
index 67bec83..f6682a5 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IAttributeNamesConstants.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IAttributeNamesConstants.java
@@ -147,13 +147,13 @@
 	
  	/**
 	 * "RuntimeVisibleTypeAnnotations" attribute (added in jsr 308).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	char[] RUNTIME_VISIBLE_TYPE_ANNOTATIONS = "RuntimeVisibleTypeAnnotations".toCharArray(); //$NON-NLS-1$
 
 	/**
 	 * "RuntimeInvisibleTypeAnnotations" attribute (added in jsr 308).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	char[] RUNTIME_INVISIBLE_TYPE_ANNOTATIONS = "RuntimeInvisibleTypeAnnotations".toCharArray(); //$NON-NLS-1$
 
@@ -166,7 +166,7 @@
 
 	/**
 	 * "MethodParameters" attribute (added in jep118).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	char[] METHOD_PARAMETERS = "MethodParameters".toCharArray(); //$NON-NLS-1$
 }
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotation.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotation.java
index 5cb89ab..2f8a0b0 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotation.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotation.java
@@ -19,7 +19,7 @@
  *
  * This interface may be implemented by clients.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public interface IExtendedAnnotation extends IAnnotation {
 	/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotationConstants.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotationConstants.java
index f653470..f07d01d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotationConstants.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IExtendedAnnotationConstants.java
@@ -18,7 +18,7 @@
  * Description of an extended annotation target types constants as described in the JVM specifications
  * (added in JavaSE-1.8).
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
  */
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/ILocalVariableReferenceInfo.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/ILocalVariableReferenceInfo.java
index 6001cb4..f6138c6 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/ILocalVariableReferenceInfo.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/ILocalVariableReferenceInfo.java
@@ -17,7 +17,7 @@
  *
  * This interface may be implemented by clients.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public interface ILocalVariableReferenceInfo {
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IMethodParametersAttribute.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IMethodParametersAttribute.java
index 7c8dbef..49a5656 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IMethodParametersAttribute.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IMethodParametersAttribute.java
@@ -15,7 +15,7 @@
  *
  * This interface may be implemented by clients.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public interface IMethodParametersAttribute extends IClassFileAttribute {
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IModifierConstants.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IModifierConstants.java
index bf78c4f..6af1f11 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IModifierConstants.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IModifierConstants.java
@@ -65,7 +65,7 @@
 
 	/**
 	 * Indicates a mandated parameter, such as this$1 (added in Java SE 8).
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	int ACC_MANDATED     = 0x8000;
 }
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeInvisibleTypeAnnotationsAttribute.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeInvisibleTypeAnnotationsAttribute.java
index a1cef99..e90c397 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeInvisibleTypeAnnotationsAttribute.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeInvisibleTypeAnnotationsAttribute.java
@@ -18,7 +18,7 @@
  *
  * This interface may be implemented by clients.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public interface IRuntimeInvisibleTypeAnnotationsAttribute extends IClassFileAttribute {
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeVisibleTypeAnnotationsAttribute.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeVisibleTypeAnnotationsAttribute.java
index 0e88752..e6c34b1 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeVisibleTypeAnnotationsAttribute.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/util/IRuntimeVisibleTypeAnnotationsAttribute.java
@@ -18,7 +18,7 @@
  *
  * This interface may be implemented by clients.
  *
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public interface IRuntimeVisibleTypeAnnotationsAttribute extends IClassFileAttribute {
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.java
index a8b2f50..0a37b30 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ExtendedAnnotation.java
@@ -50,7 +50,7 @@
    } element_value_pairs[num_element_value_pairs];
 */
 /**
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public class ExtendedAnnotation extends ClassFileStruct implements IExtendedAnnotation {
 
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.java
index 557facc..f71b2a3 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/MethodParametersAttribute.java
@@ -18,7 +18,7 @@
 import org.eclipse.jdt.core.util.IMethodParametersAttribute;
 
 /**
- * @since 3.9 BETA_JAVA8
+ * @since 3.10
  */
 public class MethodParametersAttribute extends ClassFileAttribute implements IMethodParametersAttribute {
 
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchDocument.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchDocument.java
index c3cfd2b..63004ea 100644
--- a/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchDocument.java
+++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchDocument.java
@@ -169,7 +169,7 @@
 	 *  to resolve the document via {@link SearchParticipant#resolveDocument} and to index the document adding 
 	 *  additional entries via {@link SearchParticipant#indexResolvedDocument} 
 	 *  
-	 * @since 3.9 BETA_JAVA8 
+	 * @since 3.10 
 	 */
 	public void requireIndexingResolvedDocument() {
 		this.shouldIndexResolvedDocument = true;
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchParticipant.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchParticipant.java
index 3d9e69f..6a2fe69 100644
--- a/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchParticipant.java
+++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/core/search/SearchParticipant.java
@@ -156,7 +156,7 @@
 	 * @param document the document to index
 	 * @param indexLocation the location in the file system to the index
 	 * 
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 */
 	public void indexResolvedDocument(SearchDocument document, IPath indexLocation) {
 		// do nothing, subtypes should do the "appropriate thing"
@@ -217,7 +217,7 @@
 	 * </p>
 	 *
 	 * @param document the document to resolve
-	 * @since 3.9 BETA_JAVA8
+	 * @since 3.10
 	 * @see SearchParticipant#indexResolvedDocument
 	 * @see SearchDocument#requireIndexingResolvedDocument
 	 */