clean up JPQL parser project

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/pom.xml b/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
index 6f1c684..8149b10 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
+++ b/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
@@ -30,6 +30,10 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
+    <properties>
+        <comp.xlint>-Xlint:all</comp.xlint>
+    </properties>
+
     <dependencies>
         <!--Test dependencies-->
         <dependency>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.java
index 435a739..95b6d00 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractGrammarValidator.java
@@ -294,7 +294,7 @@
             @Override
             public int lengthBeforeEncapsulatedExpression(AvgFunction expression) {
                 return (expression.hasDistinct() ? 8 /* DISTINCT */ : 0) +
-                       (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(AvgFunction expression) {
@@ -380,7 +380,7 @@
             @Override
             public int lengthBeforeEncapsulatedExpression(CountFunction expression) {
                 return (expression.hasDistinct() ? 8 /* DISTINCT */ : 0) +
-                       (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(CountFunction expression) {
@@ -493,19 +493,19 @@
                 switch (expression.getParameterCount()) {
                     case ONE: {
                         return isValid(
-                            expression.getExpression(),
-                            expression.getEncapsulatedExpressionQueryBNFId()
+                                expression.getExpression(),
+                                expression.getEncapsulatedExpressionQueryBNFId()
                         );
                     }
                     case ONE_OR_MANY: {
                         return isValidWithChildCollectionBypass(
-                            expression.getExpression(),
-                            expression.getEncapsulatedExpressionQueryBNFId()
+                                expression.getExpression(),
+                                expression.getEncapsulatedExpressionQueryBNFId()
                         );
                     }
                     case ZERO_OR_ONE: {
                         return !expression.hasExpression() ||
-                               isValid(expression.getExpression(), expression.getEncapsulatedExpressionQueryBNFId());
+                                isValid(expression.getExpression(), expression.getEncapsulatedExpressionQueryBNFId());
                     }
                     default: {
                         return true;
@@ -519,8 +519,8 @@
             @Override
             protected int lengthBeforeEncapsulatedExpression(FunctionExpression expression) {
                 return expression.getFunctionName().length() +
-                       (expression.hasComma() ? 1 : 0) +
-                       (expression.hasSpaceAfterComma() ? 1 : 0);
+                        (expression.hasComma() ? 1 : 0) +
+                        (expression.hasSpaceAfterComma() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(FunctionExpression expression) {
@@ -687,7 +687,7 @@
             @Override
             public int lengthBeforeEncapsulatedExpression(MaxFunction expression) {
                 return (expression.hasDistinct() ? 8 /* DISTINCT */ : 0) +
-                       (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(MaxFunction expression) {
@@ -713,7 +713,7 @@
             @Override
             public int lengthBeforeEncapsulatedExpression(MinFunction expression) {
                 return (expression.hasDistinct() ? 8 /* DISTINCT */ : 0) +
-                       (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(MinFunction expression) {
@@ -930,7 +930,7 @@
             @Override
             public int lengthBeforeEncapsulatedExpression(SumFunction expression) {
                 return (expression.hasDistinct() ? 8 /* DISTINCT */ : 0) +
-                       (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(SumFunction expression) {
@@ -1240,7 +1240,7 @@
         try {
             expression.accept(visitor);
             return visitor.whereClause  != null ||
-                   visitor.havingClause != null;
+                    visitor.havingClause != null;
         }
         finally {
             visitor.dispose();
@@ -1396,7 +1396,7 @@
         try {
             expression.accept(visitor);
             return visitor.whereClause  != null ||
-                   visitor.havingClause != null;
+                    visitor.havingClause != null;
         }
         finally {
             visitor.dispose();
@@ -1648,8 +1648,8 @@
 
             int startPosition = position(expression);
             int endPosition   = startPosition +
-                                expression.getIdentifier().length() +
-                                (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                    expression.getIdentifier().length() +
+                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
             addProblem(expression, startPosition, endPosition, missingConditionalExpressionMessageKey);
         }
@@ -1686,8 +1686,8 @@
      * AbstractDoubleEncapsulatedExpression expression} being validated
      */
     protected <T extends AbstractDoubleEncapsulatedExpression>
-              void validateAbstractDoubleEncapsulatedExpression
-              (T expression, AbstractDoubleEncapsulatedExpressionHelper<T> helper) {
+    void validateAbstractDoubleEncapsulatedExpression
+    (T expression, AbstractDoubleEncapsulatedExpressionHelper<T> helper) {
 
         String identifier = helper.identifier(expression);
 
@@ -1702,8 +1702,8 @@
             if (!helper.hasFirstExpression(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* '(' */;
+                        identifier.length() +
+                        1 /* '(' */;
 
                 addProblem(expression, startPosition, helper.firstExpressionMissingKey());
             }
@@ -1711,11 +1711,11 @@
             else if (!helper.isFirstExpressionValid(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */;
+                        identifier.length() +
+                        1 /* ( */;
 
                 int endPosition = startPosition +
-                                  helper.firstExpressionLength(expression);
+                        helper.firstExpressionLength(expression);
 
                 addProblem(expression, startPosition, endPosition, helper.firstExpressionInvalidKey());
             }
@@ -1727,9 +1727,9 @@
             if (!helper.hasComma(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */ +
-                                    helper.firstExpressionLength(expression);
+                        identifier.length() +
+                        1 /* ( */ +
+                        helper.firstExpressionLength(expression);
 
                 addProblem(expression, startPosition, helper.missingCommaKey());
             }
@@ -1740,11 +1740,11 @@
                 if (!helper.hasSecondExpression(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterComma() ? 1 : 0);
 
                     addProblem(expression, startPosition, helper.secondExpressionMissingKey());
                 }
@@ -1752,11 +1752,11 @@
                 else if (!helper.isSecondExpressionValid(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterComma() ? 1 : 0);
 
                     int endPosition = startPosition + helper.secondExpressionLength(expression);
 
@@ -1772,12 +1772,12 @@
         if (!helper.hasRightParenthesis(expression)) {
 
             int startPosition = position(expression) +
-                                identifier.length() +
-                                1 /* ( */ +
-                                helper.firstExpressionLength(expression) +
-                                (expression.hasComma() ? 1 : 0) +
-                                (expression.hasSpaceAfterComma() ? 1 : 0) +
-                                length(expression.getSecondExpression());
+                    identifier.length() +
+                    1 /* ( */ +
+                    helper.firstExpressionLength(expression) +
+                    (expression.hasComma() ? 1 : 0) +
+                    (expression.hasSpaceAfterComma() ? 1 : 0) +
+                    length(expression.getSecondExpression());
 
             addProblem(expression, startPosition, helper.rightParenthesisMissingKey(expression));
         }
@@ -1789,8 +1789,8 @@
         if (!expression.hasDeclaration()) {
 
             int startPosition = position(expression) +
-                                4 /* FROM */ +
-                                (expression.hasSpaceAfterFrom() ? 1 : 0);
+                    4 /* FROM */ +
+                    (expression.hasSpaceAfterFrom() ? 1 : 0);
 
             addProblem(expression, startPosition, AbstractFromClause_MissingIdentificationVariableDeclaration);
         }
@@ -1800,9 +1800,9 @@
             // Two identification variable declarations have to be separated by a comma and
             // the FROM clause cannot end with a comma
             validateCollectionSeparatedByComma(
-                declaration,
-                AbstractFromClause_IdentificationVariableDeclarationEndsWithComma,
-                AbstractFromClause_IdentificationVariableDeclarationIsMissingComma
+                    declaration,
+                    AbstractFromClause_IdentificationVariableDeclarationEndsWithComma,
+                    AbstractFromClause_IdentificationVariableDeclarationIsMissingComma
             );
 
             // Validate the declaration
@@ -1825,10 +1825,10 @@
         if (!expression.hasSelectExpression()) {
 
             int startPosition = position(expression) +
-                                6 /* SELECT */ +
-                                (expression.hasSpaceAfterSelect() ? 1 : 0) +
-                                (expression.hasDistinct() ? 8 : 0) +
-                                (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                    6 /* SELECT */ +
+                    (expression.hasSpaceAfterSelect() ? 1 : 0) +
+                    (expression.hasDistinct() ? 8 : 0) +
+                    (expression.hasSpaceAfterDistinct() ? 1 : 0);
 
             addProblem(expression, startPosition, AbstractSelectClause_MissingSelectExpression);
         }
@@ -1842,10 +1842,10 @@
                 if (!multipleSelectItemsAllowed) {
 
                     int startPosition = position(expression) +
-                                        6 /* SELECT */ +
-                                        (expression.hasSpaceAfterSelect() ? 1 : 0) +
-                                        (expression.hasDistinct() ? 8 : 0) +
-                                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                            6 /* SELECT */ +
+                            (expression.hasSpaceAfterSelect() ? 1 : 0) +
+                            (expression.hasDistinct() ? 8 : 0) +
+                            (expression.hasSpaceAfterDistinct() ? 1 : 0);
 
                     int endPosition = startPosition + length(selectExpression);
 
@@ -1860,10 +1860,10 @@
             else if (!isValid(selectExpression, expression.getSelectItemQueryBNFId())) {
 
                 int startPosition = position(expression) +
-                                    6 /* SELECT */ +
-                                    (expression.hasSpaceAfterSelect() ? 1 : 0) +
-                                    (expression.hasDistinct() ? 8 : 0) +
-                                    (expression.hasSpaceAfterDistinct() ? 1 : 0);
+                        6 /* SELECT */ +
+                        (expression.hasSpaceAfterSelect() ? 1 : 0) +
+                        (expression.hasDistinct() ? 8 : 0) +
+                        (expression.hasSpaceAfterDistinct() ? 1 : 0);
 
                 int endPosition = startPosition + length(selectExpression);
 
@@ -1882,16 +1882,16 @@
         if (!expression.hasFromClause()) {
 
             int startPosition = position(expression) +
-                                length(expression.getSelectClause()) +
-                                (expression.hasSpaceAfterSelect() ? 1 : 0);
+                    length(expression.getSelectClause()) +
+                    (expression.hasSpaceAfterSelect() ? 1 : 0);
 
             addProblem(expression, startPosition, AbstractSelectStatement_FromClauseMissing);
         }
     }
 
     protected <T extends AbstractSingleEncapsulatedExpression>
-              void validateAbstractSingleEncapsulatedExpression
-              (T expression, AbstractSingleEncapsulatedExpressionHelper<T> helper) {
+    void validateAbstractSingleEncapsulatedExpression
+            (T expression, AbstractSingleEncapsulatedExpressionHelper<T> helper) {
 
         String identifier = helper.identifier(expression);
 
@@ -1900,25 +1900,25 @@
             int startPosition = position(expression) + identifier.length();
 
             addProblem(
-                expression,
-                startPosition,
-                helper.leftParenthesisMissingKey(expression),
-                helper.arguments(expression)
+                    expression,
+                    startPosition,
+                    helper.leftParenthesisMissingKey(expression),
+                    helper.arguments(expression)
             );
         }
         // Missing encapsulated expression
         else if (helper.isEncapsulatedExpressionMissing(expression)) {
 
             int startPosition = position(expression) +
-                                identifier.length()  +
-                                1 /* '(' */          +
-                                helper.lengthBeforeEncapsulatedExpression(expression);
+                    identifier.length()  +
+                    1 /* '(' */          +
+                    helper.lengthBeforeEncapsulatedExpression(expression);
 
             addProblem(
-                expression,
-                startPosition,
-                helper.encapsulatedExpressionMissingKey(expression),
-                helper.arguments(expression)
+                    expression,
+                    startPosition,
+                    helper.encapsulatedExpressionMissingKey(expression),
+                    helper.arguments(expression)
             );
         }
         // Validate the encapsulated expression
@@ -1926,18 +1926,18 @@
             // The encapsulated expression is not valid
             if (!helper.isEncapsulatedExpressionValid(expression)) {
                 int startPosition = position(expression) +
-                                    identifier.length()  +
-                                    1 /* '(' */          +
-                                    helper.lengthBeforeEncapsulatedExpression(expression);
+                        identifier.length()  +
+                        1 /* '(' */          +
+                        helper.lengthBeforeEncapsulatedExpression(expression);
 
                 int endPosition = startPosition + helper.encapsulatedExpressionLength(expression);
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    helper.encapsulatedExpressionInvalidKey(expression),
-                    helper.arguments(expression)
+                        expression,
+                        startPosition,
+                        endPosition,
+                        helper.encapsulatedExpressionInvalidKey(expression),
+                        helper.arguments(expression)
                 );
             }
             // Now visit the encapsulated expression
@@ -1952,17 +1952,17 @@
             int startPosition = position(expression) + length(expression);
 
             addProblem(
-                expression,
-                startPosition,
-                helper.rightParenthesisMissingKey(expression),
-                helper.arguments(expression)
+                    expression,
+                    startPosition,
+                    helper.rightParenthesisMissingKey(expression),
+                    helper.arguments(expression)
             );
         }
     }
 
     protected <T extends AbstractTripleEncapsulatedExpression>
-              void validateAbstractTripleEncapsulatedExpression
-              (T expression, AbstractTripleEncapsulatedExpressionHelper<T> helper) {
+    void validateAbstractTripleEncapsulatedExpression
+            (T expression, AbstractTripleEncapsulatedExpressionHelper<T> helper) {
 
         String identifier = helper.identifier(expression);
 
@@ -1977,8 +1977,8 @@
             if (!helper.hasFirstExpression(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */;
+                        identifier.length() +
+                        1 /* ( */;
 
                 addProblem(expression, startPosition, helper.firstExpressionMissingKey());
             }
@@ -1986,8 +1986,8 @@
             else if (!helper.isFirstExpressionValid(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */;
+                        identifier.length() +
+                        1 /* ( */;
 
                 int endPosition = startPosition + helper.firstExpressionLength(expression);
 
@@ -1999,12 +1999,12 @@
 
             // Missing first comma
             if (helper.hasFirstExpression(expression) &&
-                !expression.hasFirstComma()) {
+                    !expression.hasFirstComma()) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */ +
-                                    helper.firstExpressionLength(expression);
+                        identifier.length() +
+                        1 /* ( */ +
+                        helper.firstExpressionLength(expression);
 
                 addProblem(expression, startPosition, helper.firstCommaMissingKey());
             }
@@ -2016,11 +2016,11 @@
                 if (!helper.hasSecondExpression(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasFirstComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterFirstComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasFirstComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterFirstComma() ? 1 : 0);
 
                     addProblem(expression, startPosition, helper.secondExpressionMissingKey());
                 }
@@ -2028,11 +2028,11 @@
                 else if (!helper.isSecondExpressionValid(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasFirstComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterFirstComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasFirstComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterFirstComma() ? 1 : 0);
 
                     int endPosition = startPosition + helper.secondExpressionLength(expression);
 
@@ -2045,16 +2045,16 @@
 
             // Missing second comma
             if (helper.hasSecondExpression(expression) &&
-                !expression.hasSecondComma() &&
-                helper.hasThirdExpression(expression)) {
+                    !expression.hasSecondComma() &&
+                    helper.hasThirdExpression(expression)) {
 
                 int startPosition = position(expression) +
-                                    identifier.length() +
-                                    1 /* ( */ +
-                                    helper.firstExpressionLength(expression) +
-                                    (expression.hasFirstComma() ? 1 : 0) +
-                                    (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
-                                    helper.secondExpressionLength(expression);
+                        identifier.length() +
+                        1 /* ( */ +
+                        helper.firstExpressionLength(expression) +
+                        (expression.hasFirstComma() ? 1 : 0) +
+                        (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
+                        helper.secondExpressionLength(expression);
 
                 addProblem(expression, startPosition, helper.secondCommaMissingKey());
             }
@@ -2066,14 +2066,14 @@
                 if (!helper.hasThirdExpression(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasFirstComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
-                                        helper.secondExpressionLength(expression) +
-                                        (expression.hasSecondComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterSecondComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasFirstComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
+                            helper.secondExpressionLength(expression) +
+                            (expression.hasSecondComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterSecondComma() ? 1 : 0);
 
                     addProblem(expression, startPosition, helper.thirdExpressionMissingKey());
                 }
@@ -2081,14 +2081,14 @@
                 else if (!helper.isThirdExpressionValid(expression)) {
 
                     int startPosition = position(expression) +
-                                        identifier.length() +
-                                        1 /* ( */ +
-                                        helper.firstExpressionLength(expression) +
-                                        (expression.hasFirstComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
-                                        helper.secondExpressionLength(expression) +
-                                        (expression.hasSecondComma() ? 1 : 0) +
-                                        (expression.hasSpaceAfterSecondComma() ? 1 : 0);
+                            identifier.length() +
+                            1 /* ( */ +
+                            helper.firstExpressionLength(expression) +
+                            (expression.hasFirstComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
+                            helper.secondExpressionLength(expression) +
+                            (expression.hasSecondComma() ? 1 : 0) +
+                            (expression.hasSpaceAfterSecondComma() ? 1 : 0);
 
                     int endPosition = startPosition + helper.thirdExpressionLength(expression);
 
@@ -2104,22 +2104,22 @@
         if (!helper.hasRightParenthesis(expression)) {
 
             int startPosition = position(expression) +
-                                identifier.length() +
-                                1 /* ( */ +
-                                helper.firstExpressionLength(expression) +
-                                (expression.hasFirstComma() ? 1 : 0) +
-                                (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
-                                helper.secondExpressionLength(expression) +
-                                (expression.hasSecondComma() ? 1 : 0) +
-                                (expression.hasSpaceAfterSecondComma() ? 1 : 0) +
-                                helper.thirdExpressionLength(expression);
+                    identifier.length() +
+                    1 /* ( */ +
+                    helper.firstExpressionLength(expression) +
+                    (expression.hasFirstComma() ? 1 : 0) +
+                    (expression.hasSpaceAfterFirstComma() ? 1 : 0) +
+                    helper.secondExpressionLength(expression) +
+                    (expression.hasSecondComma() ? 1 : 0) +
+                    (expression.hasSpaceAfterSecondComma() ? 1 : 0) +
+                    helper.thirdExpressionLength(expression);
 
             addProblem(expression, startPosition, helper.rightParenthesisMissingKey(expression));
         }
     }
 
     protected <T extends AggregateFunction> void validateAggregateFunctionLocation
-        (T expression, AbstractSingleEncapsulatedExpressionHelper<T> helper) {
+            (T expression, AbstractSingleEncapsulatedExpressionHelper<T> helper) {
 
         // Check to see if the aggregate function is in the right clause
         OwningClauseVisitor visitor = getOwningClauseVisitor();
@@ -2143,11 +2143,11 @@
             int endPosition   = startPosition + length(expression);
 
             addProblem(
-                expression,
-                startPosition,
-                endPosition,
-                AggregateFunction_WrongClause,
-                expression.getIdentifier());
+                    expression,
+                    startPosition,
+                    endPosition,
+                    AggregateFunction_WrongClause,
+                    expression.getIdentifier());
         }
         else {
             validateAbstractSingleEncapsulatedExpression(expression, helper);
@@ -2156,14 +2156,14 @@
 
     protected void validateArithmeticExpression(ArithmeticExpression expression) {
         validateCompoundExpression(
-            expression,
-            expression.getArithmeticSign(),
-            ArithmeticExpression_MissingLeftExpression,
-            ArithmeticExpression_InvalidLeftExpression,
-            ArithmeticExpression_MissingRightExpression,
-            ArithmeticExpression_InvalidRightExpression,
-            ArithmeticExpressionBNF.ID,
-            ArithmeticTermBNF.ID
+                expression,
+                expression.getArithmeticSign(),
+                ArithmeticExpression_MissingLeftExpression,
+                ArithmeticExpression_InvalidLeftExpression,
+                ArithmeticExpression_MissingRightExpression,
+                ArithmeticExpression_InvalidRightExpression,
+                ArithmeticExpressionBNF.ID,
+                ArithmeticTermBNF.ID
         );
     }
 
@@ -2254,10 +2254,10 @@
         if (!expression.hasRightExpression()) {
 
             int startPosition = position(expression) +
-                                length(expression.getLeftExpression()) +
-                                (expression.hasLeftExpression() ? 1 : 0) +
-                                identifier.length() +
-                                (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                    length(expression.getLeftExpression()) +
+                    (expression.hasLeftExpression() ? 1 : 0) +
+                    identifier.length() +
+                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
             addProblem(expression, startPosition, missingRightExpression);
         }
@@ -2268,10 +2268,10 @@
             if (!isValid(rightExpression, rightExpressionQueryBNF)) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getLeftExpression()) +
-                                    (expression.hasLeftExpression() ? 1 : 0) +
-                                    identifier.length() +
-                                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                        length(expression.getLeftExpression()) +
+                        (expression.hasLeftExpression() ? 1 : 0) +
+                        identifier.length() +
+                        (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
                 int endPosition = startPosition + length(rightExpression);
 
@@ -2321,8 +2321,8 @@
         // Must not be a reserved identifier. An exception is ORDER and GROUP because the actual
         // identifiers are ORDER BY and GROUP BY
         if (getExpressionRegistry().isIdentifier(variableName) &&
-            !"ORDER".equalsIgnoreCase(variableName) &&
-            !"GROUP".equalsIgnoreCase(variableName)) {
+                !"ORDER".equalsIgnoreCase(variableName) &&
+                !"GROUP".equalsIgnoreCase(variableName)) {
 
             int startPosition = position(expression);
             int endPosition   = startPosition + variableLength;
@@ -2376,9 +2376,9 @@
             if (children.size() > 1) {
 
                 validateCollectionSeparatedBySpace(
-                    joins,
-                    IdentificationVariableDeclaration_JoinsEndWithComma,
-                    IdentificationVariableDeclaration_JoinsHaveComma
+                        joins,
+                        IdentificationVariableDeclaration_JoinsEndWithComma,
+                        IdentificationVariableDeclaration_JoinsHaveComma
                 );
 
                 // Make sure each child is a JOIN expression
@@ -2412,24 +2412,24 @@
             if (character.length() != 1) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getStringExpression()) +
-                                    (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                    (expression.hasNot() ? 4 : 0) +
-                                    4 /* LIKE */ +
-                                    (expression.hasSpaceAfterLike() ? 1 : 0) +
-                                    length(expression.getPatternValue()) +
-                                    (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
-                                    6 + /* ESCAPE */ +
-                                    (expression.hasSpaceAfterEscape() ? 1 : 0);
+                        length(expression.getStringExpression()) +
+                        (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                        (expression.hasNot() ? 4 : 0) +
+                        4 /* LIKE */ +
+                        (expression.hasSpaceAfterLike() ? 1 : 0) +
+                        length(expression.getPatternValue()) +
+                        (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
+                        6 + /* ESCAPE */ +
+                        (expression.hasSpaceAfterEscape() ? 1 : 0);
 
                 int endPosition = startPosition +  length(escapeCharacter);
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    LikeExpression_InvalidEscapeCharacter,
-                    escapeCharacter.toActualText()
+                        expression,
+                        startPosition,
+                        endPosition,
+                        LikeExpression_InvalidEscapeCharacter,
+                        escapeCharacter.toActualText()
                 );
             }
         }
@@ -2438,27 +2438,27 @@
             character = literal(escapeCharacter, LiteralType.INPUT_PARAMETER);
 
             if ((character.length() == 0) &&
-                !isValid(escapeCharacter, LikeExpressionEscapeCharacterBNF.ID)) {
+                    !isValid(escapeCharacter, LikeExpressionEscapeCharacterBNF.ID)) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getStringExpression()) +
-                                    4 /* LIKE */ +
-                                    (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                    (expression.hasNot() ? 1 : 0) +
-                                    (expression.hasSpaceAfterLike() ? 1 : 0) +
-                                    length(expression.getPatternValue()) +
-                                    (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
-                                    6 + /* ESCAPE */ +
-                                    (expression.hasSpaceAfterEscape() ? 1 : 0);
+                        length(expression.getStringExpression()) +
+                        4 /* LIKE */ +
+                        (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                        (expression.hasNot() ? 1 : 0) +
+                        (expression.hasSpaceAfterLike() ? 1 : 0) +
+                        length(expression.getPatternValue()) +
+                        (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
+                        6 + /* ESCAPE */ +
+                        (expression.hasSpaceAfterEscape() ? 1 : 0);
 
                 int endPosition = startPosition + length(escapeCharacter);
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    LikeExpression_InvalidEscapeCharacter,
-                    escapeCharacter.toActualText()
+                        expression,
+                        startPosition,
+                        endPosition,
+                        LikeExpression_InvalidEscapeCharacter,
+                        escapeCharacter.toActualText()
                 );
             }
         }
@@ -2469,14 +2469,14 @@
                                              String rightExpressionQueryBNF) {
 
         validateCompoundExpression(
-            expression,
-            expression.getIdentifier(),
-            LogicalExpression_MissingLeftExpression,
-            LogicalExpression_InvalidLeftExpression,
-            LogicalExpression_MissingRightExpression,
-            LogicalExpression_InvalidRightExpression,
-            leftExpressionQueryBNF,
-            rightExpressionQueryBNF
+                expression,
+                expression.getIdentifier(),
+                LogicalExpression_MissingLeftExpression,
+                LogicalExpression_InvalidLeftExpression,
+                LogicalExpression_MissingRightExpression,
+                LogicalExpression_InvalidRightExpression,
+                leftExpressionQueryBNF,
+                rightExpressionQueryBNF
         );
     }
 
@@ -2493,7 +2493,7 @@
 
         // Missing identification variable
         if (!expression.hasIdentificationVariable() &&
-            !expression.hasVirtualIdentificationVariable()) {
+                !expression.hasVirtualIdentificationVariable()) {
 
             addProblem(expression, AbstractPathExpression_MissingIdentificationVariable);
         }
@@ -2600,10 +2600,10 @@
         if (!expression.hasLowerBoundExpression()) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
-                                (expression.hasSpaceAfterBetween() ? 1 : 0);
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
+                    (expression.hasSpaceAfterBetween() ? 1 : 0);
 
             addProblem(expression, startPosition, BetweenExpression_MissingLowerBoundExpression);
         }
@@ -2611,12 +2611,12 @@
         else if (!expression.hasAnd()) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
-                                (expression.hasSpaceAfterBetween() ? 1 : 0) +
-                                length(expression.getLowerBoundExpression()) +
-                                (expression.hasSpaceAfterLowerBound() ? 1 : 0);
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
+                    (expression.hasSpaceAfterBetween() ? 1 : 0) +
+                    length(expression.getLowerBoundExpression()) +
+                    (expression.hasSpaceAfterLowerBound() ? 1 : 0);
 
             addProblem(expression, startPosition, BetweenExpression_MissingAnd);
         }
@@ -2624,14 +2624,14 @@
         else if (!expression.hasUpperBoundExpression()) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
-                                (expression.hasSpaceAfterBetween() ? 1 : 0) +
-                                length(expression.getLowerBoundExpression()) +
-                                (expression.hasSpaceAfterLowerBound() ? 1 : 0) +
-                                3 /* AND */ +
-                                (expression.hasSpaceAfterAnd() ? 1 : 0);
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 11 /* NOT BETWEEN */ : 7 /* BETWEEN */) +
+                    (expression.hasSpaceAfterBetween() ? 1 : 0) +
+                    length(expression.getLowerBoundExpression()) +
+                    (expression.hasSpaceAfterLowerBound() ? 1 : 0) +
+                    3 /* AND */ +
+                    (expression.hasSpaceAfterAnd() ? 1 : 0);
 
             addProblem(expression, startPosition, BetweenExpression_MissingUpperBoundExpression);
         }
@@ -2650,34 +2650,34 @@
             // WHEN clauses can't be separated by commas
             if (expression.hasWhenClauses()) {
                 validateCollectionSeparatedBySpace(
-                    expression.getWhenClauses(),
-                    CaseExpression_WhenClausesEndWithComma,
-                    CaseExpression_WhenClausesHasComma
+                        expression.getWhenClauses(),
+                        CaseExpression_WhenClausesEndWithComma,
+                        CaseExpression_WhenClausesHasComma
                 );
             }
             // At least one WHEN clause must be specified
             else {
 
                 int startPosition = position(expression) +
-                                    4 /* CASE */ +
-                                    (expression.hasSpaceAfterCase() ? 1 : 0) +
-                                    length(expression.getCaseOperand()) +
-                                    (expression.hasSpaceAfterCaseOperand() ? 1 : 0);
+                        4 /* CASE */ +
+                        (expression.hasSpaceAfterCase() ? 1 : 0) +
+                        length(expression.getCaseOperand()) +
+                        (expression.hasSpaceAfterCaseOperand() ? 1 : 0);
 
                 addProblem(expression, startPosition, CaseExpression_MissingWhenClause);
             }
 
             // Missing ELSE
             if (expression.hasWhenClauses() &&
-               !expression.hasElse()) {
+                    !expression.hasElse()) {
 
                 int startPosition = position(expression) +
-                                    4 /* CASE */ +
-                                    (expression.hasSpaceAfterCase() ? 1 : 0) +
-                                    length(expression.getCaseOperand()) +
-                                    (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
-                                    length(expression.getWhenClauses()) +
-                                    (expression.hasSpaceAfterWhenClauses() ? 1 : 0);
+                        4 /* CASE */ +
+                        (expression.hasSpaceAfterCase() ? 1 : 0) +
+                        length(expression.getCaseOperand()) +
+                        (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
+                        length(expression.getWhenClauses()) +
+                        (expression.hasSpaceAfterWhenClauses() ? 1 : 0);
 
                 addProblem(expression, startPosition, CaseExpression_MissingElseIdentifier);
             }
@@ -2686,14 +2686,14 @@
                     !expression.hasElseExpression()) {
 
                 int startPosition = position(expression) +
-                                    4 /* CASE */ +
-                                    (expression.hasSpaceAfterCase() ? 1 : 0) +
-                                    length(expression.getCaseOperand()) +
-                                    (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
-                                    length(expression.getWhenClauses()) +
-                                    (expression.hasSpaceAfterWhenClauses() ? 1 : 0) +
-                                    4 /* ELSE */ +
-                                    (expression.hasSpaceAfterElse() ? 1 : 0);
+                        4 /* CASE */ +
+                        (expression.hasSpaceAfterCase() ? 1 : 0) +
+                        length(expression.getCaseOperand()) +
+                        (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
+                        length(expression.getWhenClauses()) +
+                        (expression.hasSpaceAfterWhenClauses() ? 1 : 0) +
+                        4 /* ELSE */ +
+                        (expression.hasSpaceAfterElse() ? 1 : 0);
 
                 addProblem(expression, startPosition, CaseExpression_MissingElseExpression);
             }
@@ -2702,16 +2702,16 @@
                     !expression.hasEnd()) {
 
                 int startPosition = position(expression) +
-                                    4 /* CASE */ +
-                                    (expression.hasSpaceAfterCase() ? 1 : 0) +
-                                    length(expression.getCaseOperand()) +
-                                    (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
-                                    length(expression.getWhenClauses()) +
-                                    (expression.hasSpaceAfterWhenClauses() ? 1 : 0) +
-                                    4 /* ELSE */ +
-                                    (expression.hasSpaceAfterElse() ? 1 : 0) +
-                                    length(expression.getElseExpression()) +
-                                    (expression.hasSpaceAfterElseExpression() ? 1 : 0);
+                        4 /* CASE */ +
+                        (expression.hasSpaceAfterCase() ? 1 : 0) +
+                        length(expression.getCaseOperand()) +
+                        (expression.hasSpaceAfterCaseOperand() ? 1 : 0) +
+                        length(expression.getWhenClauses()) +
+                        (expression.hasSpaceAfterWhenClauses() ? 1 : 0) +
+                        4 /* ELSE */ +
+                        (expression.hasSpaceAfterElse() ? 1 : 0) +
+                        length(expression.getElseExpression()) +
+                        (expression.hasSpaceAfterElseExpression() ? 1 : 0);
 
                 addProblem(expression, startPosition, CaseExpression_MissingEndIdentifier);
             }
@@ -2759,27 +2759,27 @@
             else if (!expression.hasRightParenthesis()) {
 
                 int startPosition = position(expression) +
-                                    2 /* IN */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0) +
-                                    (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                    length(expression.getCollectionValuedPathExpression());
+                        2 /* IN */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0) +
+                        (expression.hasSpaceAfterIn() ? 1 : 0) +
+                        length(expression.getCollectionValuedPathExpression());
 
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingRightParenthesis);
             }
 
             // Missing identification variable
             if (expression.hasRightParenthesis() &&
-               !expression.hasIdentificationVariable()) {
+                    !expression.hasIdentificationVariable()) {
 
                 int startPosition = position(expression) +
-                                    2 /* IN */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0) +
-                                    (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                    length(expression.getCollectionValuedPathExpression()) +
-                                    1 /* ')' */ +
-                                    (expression.hasSpaceAfterRightParenthesis() ? 1 : 0) +
-                                    (expression.hasAs() ? 2 : 0) +
-                                    (expression.hasSpaceAfterAs() ? 1 : 0);
+                        2 /* IN */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0) +
+                        (expression.hasSpaceAfterIn() ? 1 : 0) +
+                        length(expression.getCollectionValuedPathExpression()) +
+                        1 /* ')' */ +
+                        (expression.hasSpaceAfterRightParenthesis() ? 1 : 0) +
+                        (expression.hasAs() ? 2 : 0) +
+                        (expression.hasSpaceAfterAs() ? 1 : 0);
 
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingIdentificationVariable);
             }
@@ -2789,7 +2789,7 @@
 
             // Missing '('
             if (!expression.hasLeftParenthesis() &&
-                 expression.hasRightParenthesis()) {
+                    expression.hasRightParenthesis()) {
 
                 int startPosition = position(expression) + 2; // IN
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingLeftParenthesis);
@@ -2798,8 +2798,8 @@
             else if (!expression.hasCollectionValuedPathExpression()) {
 
                 int startPosition = position(expression) +
-                                    2 /* IN */ +
-                                    (expression.hasSpaceAfterIn() ? 1 : 0);
+                        2 /* IN */ +
+                        (expression.hasSpaceAfterIn() ? 1 : 0);
 
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingCollectionValuedPathExpression);
             }
@@ -2808,27 +2808,27 @@
                     !expression.hasRightParenthesis()) {
 
                 int startPosition = position(expression) +
-                                    2 /* IN */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0) +
-                                    (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                    length(expression.getCollectionValuedPathExpression());
+                        2 /* IN */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0) +
+                        (expression.hasSpaceAfterIn() ? 1 : 0) +
+                        length(expression.getCollectionValuedPathExpression());
 
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingRightParenthesis);
             }
 
             // Missing identification variable
             if (expression.hasRightParenthesis() &&
-               !expression.hasIdentificationVariable()) {
+                    !expression.hasIdentificationVariable()) {
 
                 int startPosition = position(expression) +
-                                    2 /* IN */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0) +
-                                    (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                    length(expression.getCollectionValuedPathExpression()) +
-                                    1 /* ')' */ +
-                                    (expression.hasSpaceAfterRightParenthesis() ? 1 : 0) +
-                                    (expression.hasAs() ? 2 : 0) +
-                                    (expression.hasSpaceAfterAs() ? 1 : 0);
+                        2 /* IN */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0) +
+                        (expression.hasSpaceAfterIn() ? 1 : 0) +
+                        length(expression.getCollectionValuedPathExpression()) +
+                        1 /* ')' */ +
+                        (expression.hasSpaceAfterRightParenthesis() ? 1 : 0) +
+                        (expression.hasAs() ? 2 : 0) +
+                        (expression.hasSpaceAfterAs() ? 1 : 0);
 
                 addProblem(expression, startPosition, CollectionMemberDeclaration_MissingIdentificationVariable);
             }
@@ -2850,13 +2850,13 @@
         if (!expression.hasCollectionValuedPathExpression()) {
 
             int startPosition = position(expression) +
-                                length(expression.getEntityExpression()) +
-                                (expression.hasEntityExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
-                                6 /* MEMBER */ +
-                                (expression.hasSpaceAfterMember() ? 1 : 0) +
-                                (expression.hasOf() ? 2 : 0) +
-                                (expression.hasSpaceAfterOf() ? 1 : 0);
+                    length(expression.getEntityExpression()) +
+                    (expression.hasEntityExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
+                    6 /* MEMBER */ +
+                    (expression.hasSpaceAfterMember() ? 1 : 0) +
+                    (expression.hasOf() ? 2 : 0) +
+                    (expression.hasSpaceAfterOf() ? 1 : 0);
 
             addProblem(expression, startPosition, CollectionMemberExpression_MissingCollectionValuedPathExpression);
         }
@@ -2867,22 +2867,22 @@
             if (!isValid(pathExpression, CollectionValuedPathExpressionBNF.ID)) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getEntityExpression()) +
-                                    (expression.hasEntityExpression() ? 1 : 0) +
-                                    (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
-                                    6 /* MEMBER */ +
-                                    (expression.hasSpaceAfterMember() ? 1 : 0) +
-                                    (expression.hasOf() ? 2 : 0) +
-                                    (expression.hasSpaceAfterOf() ? 1 : 0);
+                        length(expression.getEntityExpression()) +
+                        (expression.hasEntityExpression() ? 1 : 0) +
+                        (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
+                        6 /* MEMBER */ +
+                        (expression.hasSpaceAfterMember() ? 1 : 0) +
+                        (expression.hasOf() ? 2 : 0) +
+                        (expression.hasSpaceAfterOf() ? 1 : 0);
 
                 int endPosition = startPosition + length(pathExpression);
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    CollectionValuedPathExpression_NotCollectionType,
-                    expression.toParsedText()
+                        expression,
+                        startPosition,
+                        endPosition,
+                        CollectionValuedPathExpression_NotCollectionType,
+                        expression.toParsedText()
                 );
             }
         }
@@ -2908,10 +2908,10 @@
         if (!expression.hasRightExpression()) {
 
             int startPosition = position(expression) +
-                                (expression.hasLeftExpression() ? 1 : 0) +
-                                length(expression.getLeftExpression()) +
-                                expression.getComparisonOperator().length() +
-                                (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                    (expression.hasLeftExpression() ? 1 : 0) +
+                    length(expression.getLeftExpression()) +
+                    expression.getComparisonOperator().length() +
+                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
             addProblem(expression, startPosition, ComparisonExpression_MissingRightExpression);
         }
@@ -2925,7 +2925,7 @@
         validateAbstractSingleEncapsulatedExpression(expression, concatExpressionHelper());
 
         if (expression.hasLeftParenthesis() &&
-            expression.hasExpression()) {
+                expression.hasExpression()) {
 
             CollectionExpression collectionExpression = getCollectionExpression(expression.getExpression());
 
@@ -2952,8 +2952,8 @@
         if (className.length() == 0) {
 
             int startPosition = position(expression) +
-                                3 /* NEW */ +
-                                (expression.hasSpaceAfterNew() ? 1 : 0);
+                    3 /* NEW */ +
+                    (expression.hasSpaceAfterNew() ? 1 : 0);
 
             addProblem(expression, startPosition, ConstructorExpression_MissingConstructorName);
         }
@@ -2961,9 +2961,9 @@
         else if (!expression.hasLeftParenthesis()) {
 
             int startPosition = position(expression) +
-                                3 /* NEW */ +
-                                (expression.hasSpaceAfterNew() ? 1 : 0) +
-                                className.length();
+                    3 /* NEW */ +
+                    (expression.hasSpaceAfterNew() ? 1 : 0) +
+                    className.length();
 
             addProblem(expression, startPosition, ConstructorExpression_MissingLeftParenthesis);
         }
@@ -2973,10 +2973,10 @@
             if (!expression.hasConstructorItems()) {
 
                 int startPosition = position(expression) +
-                                    3 /* NEW */ +
-                                    (expression.hasSpaceAfterNew() ? 1 : 0) +
-                                    className.length() +
-                                    1 /* '(' */;
+                        3 /* NEW */ +
+                        (expression.hasSpaceAfterNew() ? 1 : 0) +
+                        className.length() +
+                        1 /* '(' */;
 
                 addProblem(expression, startPosition, ConstructorExpression_MissingConstructorItem);
             }
@@ -2984,22 +2984,22 @@
 
                 // Validate the constructor items
                 validateCollectionSeparatedByComma(
-                    expression.getConstructorItems(),
-                    ConstructorExpression_ConstructorItemEndsWithComma,
-                    ConstructorExpression_ConstructorItemIsMissingComma
+                        expression.getConstructorItems(),
+                        ConstructorExpression_ConstructorItemEndsWithComma,
+                        ConstructorExpression_ConstructorItemIsMissingComma
                 );
 
                 // Missing ')'
                 if (expression.hasLeftParenthesis()  &&
-                    expression.hasConstructorItems() &&
-                   !expression.hasRightParenthesis()) {
+                        expression.hasConstructorItems() &&
+                        !expression.hasRightParenthesis()) {
 
                     int startPosition = position(expression) +
-                                        3 /* NEW */ +
-                                        (expression.hasSpaceAfterNew() ? 1 : 0) +
-                                        className.length() +
-                                        1 /* '(' */ +
-                                        length(expression.getConstructorItems());
+                            3 /* NEW */ +
+                            (expression.hasSpaceAfterNew() ? 1 : 0) +
+                            className.length() +
+                            1 /* '(' */ +
+                            length(expression.getConstructorItems());
 
                     addProblem(expression, startPosition, ConstructorExpression_MissingRightParenthesis);
                 }
@@ -3025,8 +3025,8 @@
 
             // Missing opening
             if (!dateTime.startsWith("{d ") &&
-                !dateTime.startsWith("{t ") &&
-                !dateTime.startsWith("{ts ")) {
+                    !dateTime.startsWith("{t ") &&
+                    !dateTime.startsWith("{ts ")) {
 
                 int startPosition = position(expression) + 1;
                 int endPosition = startPosition;
@@ -3042,8 +3042,8 @@
             }
             // Missing open quote
             else if (!dateTime.startsWith("{d '") &&
-                     !dateTime.startsWith("{t '") &&
-                     !dateTime.startsWith("{ts '")) {
+                    !dateTime.startsWith("{t '") &&
+                    !dateTime.startsWith("{ts '")) {
 
                 int startPosition = position(expression) + 1;
 
@@ -3083,7 +3083,7 @@
         if (!expression.hasFrom()) {
 
             int startPosition = 6 /* DELETE */ +
-                                (expression.hasSpaceAfterDelete() ? 1 : 0);
+                    (expression.hasSpaceAfterDelete() ? 1 : 0);
 
             addProblem(expression, startPosition, DeleteClause_FromMissing);
         }
@@ -3117,10 +3117,10 @@
                 }
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    malformed ? DeleteClause_RangeVariableDeclarationMalformed :
+                        expression,
+                        startPosition,
+                        endPosition,
+                        malformed ? DeleteClause_RangeVariableDeclarationMalformed :
                                 DeleteClause_MultipleRangeVariableDeclaration
                 );
             }
@@ -3159,11 +3159,11 @@
                 int endPosition   = startPosition + length(pathExpression);
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    CollectionValuedPathExpression_NotCollectionType,
-                    expression.toParsedText()
+                        expression,
+                        startPosition,
+                        endPosition,
+                        CollectionValuedPathExpression_NotCollectionType,
+                        expression.toParsedText()
                 );
             }
             else {
@@ -3221,8 +3221,8 @@
 
                 if (ExpressionTools.stringIsEmpty(functionName)) {
                     int startPosition = position(expression) +
-                                        expression.getIdentifier().length() +
-                                        (expression.hasLeftParenthesis() ? 1 : 0);
+                            expression.getIdentifier().length() +
+                            (expression.hasLeftParenthesis() ? 1 : 0);
 
                     addProblem(expression, startPosition, FunctionExpression_MissingFunctionName);
                 }
@@ -3237,17 +3237,17 @@
         if (!expression.hasGroupByItems()) {
 
             int startPosition = position(expression) +
-                                8 /* GROUP BY */ +
-                                (expression.hasSpaceAfterGroupBy() ? 1 : 0);
+                    8 /* GROUP BY */ +
+                    (expression.hasSpaceAfterGroupBy() ? 1 : 0);
 
             addProblem(expression, startPosition, GroupByClause_GroupByItemMissing);
         }
         // Validate the separation of multiple ordering items
         else {
             validateCollectionSeparatedByComma(
-                expression.getGroupByItems(),
-                GroupByClause_GroupByItemEndsWithComma,
-                GroupByClause_GroupByItemIsMissingComma
+                    expression.getGroupByItems(),
+                    GroupByClause_GroupByItemEndsWithComma,
+                    GroupByClause_GroupByItemIsMissingComma
             );
 
             super.visit(expression);
@@ -3257,9 +3257,9 @@
     @Override
     public void visit(HavingClause expression) {
         validateAbstractConditionalClause(
-            expression,
-            HavingClause_MissingConditionalExpression,
-            HavingClause_InvalidConditionalExpression
+                expression,
+                HavingClause_MissingConditionalExpression,
+                HavingClause_InvalidConditionalExpression
         );
     }
 
@@ -3270,11 +3270,11 @@
             String variable = expression.getText();
 
             validateIdentifier(
-                expression,
-                variable,
-                variable.length(),
-                IdentificationVariable_Invalid_ReservedWord,
-                IdentificationVariable_Invalid_JavaIdentifier
+                    expression,
+                    variable,
+                    variable.length(),
+                    IdentificationVariable_Invalid_ReservedWord,
+                    IdentificationVariable_Invalid_JavaIdentifier
             );
         }
     }
@@ -3332,16 +3332,16 @@
 
         // Check for "IN :input_parameter" defined in JPA 2.0
         boolean singleInputParameter = isNewerThanOrEqual(JPAVersion.VERSION_2_0) &&
-                                       expression.isSingleInputParameter();
+                expression.isSingleInputParameter();
 
         // Missing '('
         if (!expression.hasLeftParenthesis() && !singleInputParameter) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
-                                2 /* IN */;
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
+                    2 /* IN */;
 
             addProblem(expression, startPosition, InExpression_MissingLeftParenthesis);
         }
@@ -3350,12 +3350,12 @@
         else if (!expression.hasInItems()) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
-                                2 /* IN */ +
-                                (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                (expression.hasLeftParenthesis() ? 1 : 0);
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
+                    2 /* IN */ +
+                    (expression.hasSpaceAfterIn() ? 1 : 0) +
+                    (expression.hasLeftParenthesis() ? 1 : 0);
 
             addProblem(expression, startPosition, InExpression_MissingInItems);
         }
@@ -3369,9 +3369,9 @@
             if (collectionExpression != null) {
 
                 validateCollectionSeparatedByComma(
-                    inItems,
-                    InExpression_ItemEndsWithComma,
-                    InExpression_ItemIsMissingComma
+                        inItems,
+                        InExpression_ItemEndsWithComma,
+                        InExpression_ItemIsMissingComma
                 );
 
                 // Validate each item
@@ -3413,17 +3413,17 @@
 
         // Missing ')'
         if (!singleInputParameter    &&
-             expression.hasInItems() &&
-            !expression.hasRightParenthesis()) {
+                expression.hasInItems() &&
+                !expression.hasRightParenthesis()) {
 
             int startPosition = position(expression) +
-                                length(expression.getExpression()) +
-                                (expression.hasExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
-                                2 /* IN */ +
-                                (expression.hasSpaceAfterIn() ? 1 : 0) +
-                                (expression.hasLeftParenthesis() ? 1 : 0) +
-                                length(expression.getInItems());
+                    length(expression.getExpression()) +
+                    (expression.hasExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 4 /* NOT + whitespace */ : 0) +
+                    2 /* IN */ +
+                    (expression.hasSpaceAfterIn() ? 1 : 0) +
+                    (expression.hasLeftParenthesis() ? 1 : 0) +
+                    length(expression.getInItems());
 
             addProblem(expression, startPosition, InExpression_MissingRightParenthesis);
         }
@@ -3491,22 +3491,22 @@
         String identifier = expression.getIdentifier();
 
         if (identifier != JOIN             &&
-            identifier != JOIN_FETCH       &&
-            identifier != INNER_JOIN       &&
-            identifier != INNER_JOIN_FETCH &&
-            identifier != LEFT_JOIN        &&
-            identifier != LEFT_JOIN_FETCH  &&
-            identifier != LEFT_OUTER_JOIN  &&
-            identifier != LEFT_OUTER_JOIN_FETCH) {
+                identifier != JOIN_FETCH       &&
+                identifier != INNER_JOIN       &&
+                identifier != INNER_JOIN_FETCH &&
+                identifier != LEFT_JOIN        &&
+                identifier != LEFT_JOIN_FETCH  &&
+                identifier != LEFT_OUTER_JOIN  &&
+                identifier != LEFT_OUTER_JOIN_FETCH) {
 
             int startPosition = position(expression);
             int endPosition   = startPosition + identifier.length();
 
             addProblem(
-                expression,
-                startPosition,
-                endPosition,
-                Join_InvalidIdentifier
+                    expression,
+                    startPosition,
+                    endPosition,
+                    Join_InvalidIdentifier
             );
         }
 
@@ -3514,13 +3514,13 @@
         if (!expression.hasJoinAssociationPath()) {
 
             int startPosition = position(expression) +
-                                identifier.length() +
-                                (expression.hasSpaceAfterJoin() ? 1 : 0);
+                    identifier.length() +
+                    (expression.hasSpaceAfterJoin() ? 1 : 0);
 
             addProblem(
-                expression,
-                startPosition,
-                joinFetch ? JoinFetch_MissingJoinAssociationPath : Join_MissingJoinAssociationPath
+                    expression,
+                    startPosition,
+                    joinFetch ? JoinFetch_MissingJoinAssociationPath : Join_MissingJoinAssociationPath
             );
         }
         else {
@@ -3544,38 +3544,38 @@
         // A JOIN expression always needs an identification variable
         // A JOIN FETCH expression does not always require an identification, only if 'AS' is present
         if (expression.hasJoinAssociationPath() &&
-           !expression.hasIdentificationVariable() &&
-            (!joinFetch || expression.hasAs() && isJoinFetchIdentifiable())) {
+                !expression.hasIdentificationVariable() &&
+                (!joinFetch || expression.hasAs() && isJoinFetchIdentifiable())) {
 
             int startPosition = position(expression) +
-                                identifier.length() +
-                                (expression.hasSpaceAfterJoin() ? 1 : 0) +
-                                length(expression.getJoinAssociationPath()) +
-                                (expression.hasSpaceAfterJoinAssociation() ? 1 : 0) +
-                                (expression.hasAs() ? 2 : 0) +
-                                (expression.hasSpaceAfterAs() ? 1 : 0);
+                    identifier.length() +
+                    (expression.hasSpaceAfterJoin() ? 1 : 0) +
+                    length(expression.getJoinAssociationPath()) +
+                    (expression.hasSpaceAfterJoinAssociation() ? 1 : 0) +
+                    (expression.hasAs() ? 2 : 0) +
+                    (expression.hasSpaceAfterAs() ? 1 : 0);
 
             addProblem(
-                expression,
-                startPosition,
-                joinFetch ? JoinFetch_MissingIdentificationVariable : Join_MissingIdentificationVariable
+                    expression,
+                    startPosition,
+                    joinFetch ? JoinFetch_MissingIdentificationVariable : Join_MissingIdentificationVariable
             );
         }
         // A JOIN FETCH expression that cannot be identified with an identification variable
         else if (joinFetch &&
-                 !isJoinFetchIdentifiable() &&
-                 (expression.hasAs() || expression.hasIdentificationVariable())) {
+                !isJoinFetchIdentifiable() &&
+                (expression.hasAs() || expression.hasIdentificationVariable())) {
 
             int startPosition = position(expression) +
-                                identifier.length() +
-                                (expression.hasSpaceAfterJoin() ? 1 : 0) +
-                                length(expression.getJoinAssociationPath()) +
-                                (expression.hasSpaceAfterJoinAssociation() ? 1 : 0);
+                    identifier.length() +
+                    (expression.hasSpaceAfterJoin() ? 1 : 0) +
+                    length(expression.getJoinAssociationPath()) +
+                    (expression.hasSpaceAfterJoinAssociation() ? 1 : 0);
 
             int endPosition = startPosition +
-                              (expression.hasAs() ? 2 : 0) +
-                              (expression.hasSpaceAfterAs() ? 1 : 0) +
-                              length(expression.getIdentificationVariable());
+                    (expression.hasAs() ? 2 : 0) +
+                    (expression.hasSpaceAfterAs() ? 1 : 0) +
+                    length(expression.getIdentificationVariable());
 
             addProblem(expression, startPosition, endPosition, JoinFetch_InvalidIdentification);
         }
@@ -3664,11 +3664,11 @@
         if (!expression.hasPatternValue()) {
 
             int startPosition = position(expression) +
-                                length(expression.getStringExpression()) +
-                                4 /* LIKE */ +
-                                (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                (expression.hasNot() ? 1 : 0) +
-                                (expression.hasSpaceAfterLike() ? 1 : 0);
+                    length(expression.getStringExpression()) +
+                    4 /* LIKE */ +
+                    (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                    (expression.hasNot() ? 1 : 0) +
+                    (expression.hasSpaceAfterLike() ? 1 : 0);
 
             addProblem(expression, startPosition, LikeExpression_MissingPatternValue);
         }
@@ -3680,21 +3680,21 @@
             if (!expression.hasEscapeCharacter()) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getStringExpression()) +
-                                    4 /* LIKE */ +
-                                    (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                    (expression.hasNot() ? 1 : 0) +
-                                    (expression.hasSpaceAfterLike() ? 1 : 0) +
-                                    length(expression.getPatternValue()) +
-                                    (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
-                                    6 + /* ESCAPE */ +
-                                    (expression.hasSpaceAfterEscape() ? 1 : 0);
+                        length(expression.getStringExpression()) +
+                        4 /* LIKE */ +
+                        (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                        (expression.hasNot() ? 1 : 0) +
+                        (expression.hasSpaceAfterLike() ? 1 : 0) +
+                        length(expression.getPatternValue()) +
+                        (expression.hasSpaceAfterPatternValue() ? 1 : 0) +
+                        6 + /* ESCAPE */ +
+                        (expression.hasSpaceAfterEscape() ? 1 : 0);
 
                 addProblem(expression, startPosition, LikeExpression_MissingEscapeCharacter);
             }
             else {
-               validateLikeExpressionEscapeCharacter(expression);
-           }
+                validateLikeExpressionEscapeCharacter(expression);
+            }
         }
 
         super.visit(expression);
@@ -3737,8 +3737,8 @@
         if (!expression.hasExpression()) {
 
             int startPosition = position(expression) +
-                                3 /* NOT */ +
-                                (expression.hasSpaceAfterNot() ? 1 : 0);
+                    3 /* NOT */ +
+                    (expression.hasSpaceAfterNot() ? 1 : 0);
 
             addProblem(expression, startPosition, NotExpression_MissingExpression);
         }
@@ -3807,8 +3807,8 @@
         if (!expression.hasConditionalExpression()) {
 
             int startPosition = position(expression) +
-                                2 /* ON */ +
-                                (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                    2 /* ON */ +
+                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
             addProblem(expression, startPosition, OnClause_MissingConditionalExpression);
         }
@@ -3819,8 +3819,8 @@
             if (!isValid(conditionalExpression, ConditionalExpressionBNF.ID)) {
 
                 int startPosition = position(expression) +
-                                    2 /* ON */ +
-                                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                        2 /* ON */ +
+                        (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
                 int endPosition = startPosition + length(conditionalExpression);
 
@@ -3843,9 +3843,9 @@
         // Validate the separation of multiple grouping items
         else {
             validateCollectionSeparatedByComma(
-                expression.getOrderByItems(),
-                OrderByClause_OrderByItemEndsWithComma,
-                OrderByClause_OrderByItemIsMissingComma
+                    expression.getOrderByItems(),
+                    OrderByClause_OrderByItemEndsWithComma,
+                    OrderByClause_OrderByItemIsMissingComma
             );
         }
 
@@ -3878,9 +3878,9 @@
     @Override
     public void visit(OrExpression expression) {
         validateLogicalExpression(
-            expression,
-            ConditionalExpressionBNF.ID,
-            ConditionalExpressionBNF.ID
+                expression,
+                ConditionalExpressionBNF.ID,
+                ConditionalExpressionBNF.ID
         );
     }
 
@@ -3910,13 +3910,13 @@
 
         // Missing identification variable
         if (!expression.hasIdentificationVariable() &&
-            !expression.hasVirtualIdentificationVariable()) {
+                !expression.hasVirtualIdentificationVariable()) {
 
             int startPosition = position(expression) +
-                                length(expression.getRootObject()) +
-                                (expression.hasSpaceAfterRootObject() ? 1 : 0) +
-                                (expression.hasAs() ? 2 : 0) +
-                                (expression.hasSpaceAfterAs() ? 1 : 0);
+                    length(expression.getRootObject()) +
+                    (expression.hasSpaceAfterRootObject() ? 1 : 0) +
+                    (expression.hasAs() ? 2 : 0) +
+                    (expression.hasSpaceAfterAs() ? 1 : 0);
 
             addProblem(expression, startPosition, RangeVariableDeclaration_MissingIdentificationVariable);
         }
@@ -3931,13 +3931,13 @@
         // JPA 1.0 does not support a result variable expression
         if (isJPA1_0()) {
             int startPosition = position(expression) +
-                                length(expression.getSelectExpression()) +
-                                (expression.hasSelectExpression() ? 1 : 0);
+                    length(expression.getSelectExpression()) +
+                    (expression.hasSelectExpression() ? 1 : 0);
 
             int endPosition = startPosition +
-                              (expression.hasAs() ? 2 : 0) +
-                              (expression.hasSpaceAfterAs() ? 1 : 0) +
-                              length(expression.getResultVariable());
+                    (expression.hasAs() ? 2 : 0) +
+                    (expression.hasSpaceAfterAs() ? 1 : 0) +
+                    length(expression.getResultVariable());
 
             addProblem(expression, startPosition, endPosition, ResultVariable_InvalidJPAVersion);
         }
@@ -3957,10 +3957,10 @@
             if (!expression.hasResultVariable()) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getSelectExpression()) +
-                                    (expression.hasSelectExpression() ? 1 : 0) +
-                                    (expression.hasAs() ? 2 : 0) +
-                                    (expression.hasSpaceAfterAs() ? 1 : 0);
+                        length(expression.getSelectExpression()) +
+                        (expression.hasSelectExpression() ? 1 : 0) +
+                        (expression.hasAs() ? 2 : 0) +
+                        (expression.hasSpaceAfterAs() ? 1 : 0);
 
                 addProblem(expression, startPosition, ResultVariable_MissingResultVariable);
             }
@@ -3979,9 +3979,9 @@
         // Make sure the select expression are separated by a comma
         if (expression.hasSelectExpression()) {
             validateCollectionSeparatedByComma(
-                expression.getSelectExpression(),
-                AbstractSelectClause_SelectExpressionEndsWithComma,
-                AbstractSelectClause_SelectExpressionIsMissingComma
+                    expression.getSelectExpression(),
+                    AbstractSelectClause_SelectExpressionEndsWithComma,
+                    AbstractSelectClause_SelectExpressionIsMissingComma
             );
         }
     }
@@ -4044,8 +4044,8 @@
             if (!expression.hasRightParenthesis()) {
 
                 int startPosition = position(expression) +
-                                    1 /* ( */ +
-                                    length(expression.getExpression());
+                        1 /* ( */ +
+                        length(expression.getExpression());
 
                 addProblem(expression, startPosition, SubExpression_MissingRightParenthesis);
             }
@@ -4091,14 +4091,14 @@
         if (!expression.hasExpression()) {
 
             int startPosition = position(expression) +
-                                4 /* TRIM */ +
-                                (expression.hasLeftParenthesis() ? 1 : 0) +
-                                expression.getSpecification().getValue().length() +
-                                (expression.hasSpaceAfterSpecification() ? 1 : 0) +
-                                length(expression.getTrimCharacter()) +
-                                (expression.hasSpaceAfterTrimCharacter() ? 1 : 0) +
-                                (expression.hasFrom() ? 4 : 0) +
-                                (expression.hasSpaceAfterFrom() ? 1 : 0);
+                    4 /* TRIM */ +
+                    (expression.hasLeftParenthesis() ? 1 : 0) +
+                    expression.getSpecification().getValue().length() +
+                    (expression.hasSpaceAfterSpecification() ? 1 : 0) +
+                    length(expression.getTrimCharacter()) +
+                    (expression.hasSpaceAfterTrimCharacter() ? 1 : 0) +
+                    (expression.hasFrom() ? 4 : 0) +
+                    (expression.hasSpaceAfterFrom() ? 1 : 0);
 
             addProblem(expression, startPosition, TrimExpression_MissingExpression);
         }
@@ -4106,14 +4106,14 @@
         else if (!isValid(expression.getExpression(), expression.getEncapsulatedExpressionQueryBNFId())) {
 
             int startPosition = position(expression) +
-                                4 /* TRIM */ +
-                                (expression.hasLeftParenthesis() ? 1 : 0) +
-                                expression.getSpecification().getValue().length() +
-                                (expression.hasSpaceAfterSpecification() ? 1 : 0) +
-                                length(expression.getTrimCharacter()) +
-                                (expression.hasSpaceAfterTrimCharacter() ? 1 : 0) +
-                                (expression.hasFrom() ? 4 : 0) +
-                                (expression.hasSpaceAfterFrom() ? 1 : 0);
+                    4 /* TRIM */ +
+                    (expression.hasLeftParenthesis() ? 1 : 0) +
+                    expression.getSpecification().getValue().length() +
+                    (expression.hasSpaceAfterSpecification() ? 1 : 0) +
+                    length(expression.getTrimCharacter()) +
+                    (expression.hasSpaceAfterTrimCharacter() ? 1 : 0) +
+                    (expression.hasFrom() ? 4 : 0) +
+                    (expression.hasSpaceAfterFrom() ? 1 : 0);
 
             int endPosition = startPosition + length(expression.getExpression());
             addProblem(expression, startPosition, endPosition, TrimExpression_InvalidExpression);
@@ -4132,10 +4132,10 @@
                 String stringLiteral = literal(trimCharacter, LiteralType.STRING_LITERAL);
 
                 int startPosition = position(expression) +
-                                    4 /* TRIM */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0) +
-                                    expression.getSpecification().getValue().length() +
-                                    (expression.hasSpaceAfterSpecification() ? 1 : 0);
+                        4 /* TRIM */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0) +
+                        expression.getSpecification().getValue().length() +
+                        (expression.hasSpaceAfterSpecification() ? 1 : 0);
 
                 int endPosition = startPosition + length(trimCharacter);
 
@@ -4177,8 +4177,8 @@
         if (!expression.hasRangeVariableDeclaration()) {
 
             int startPosition = position(expression) +
-                                6 /* UPDATE */ +
-                                (expression.hasSpaceAfterUpdate() ? 1 : 0);
+                    6 /* UPDATE */ +
+                    (expression.hasSpaceAfterUpdate() ? 1 : 0);
 
             addProblem(expression, startPosition, UpdateClause_MissingRangeVariableDeclaration);
         }
@@ -4186,10 +4186,10 @@
         else if (!expression.hasSet()) {
 
             int startPosition = position(expression) +
-                                6 /* UPDATE */ +
-                                (expression.hasSpaceAfterUpdate() ? 1 : 0) +
-                                length(expression.getRangeVariableDeclaration()) +
-                                (expression.hasSpaceAfterRangeVariableDeclaration() ? 1 : 0);
+                    6 /* UPDATE */ +
+                    (expression.hasSpaceAfterUpdate() ? 1 : 0) +
+                    length(expression.getRangeVariableDeclaration()) +
+                    (expression.hasSpaceAfterRangeVariableDeclaration() ? 1 : 0);
 
             addProblem(expression, startPosition, UpdateClause_MissingSet);
         }
@@ -4197,21 +4197,21 @@
         else if (!expression.hasUpdateItems()) {
 
             int startPosition = position(expression) +
-                                6 /* UPDATE */ +
-                                (expression.hasSpaceAfterUpdate() ? 1 : 0) +
-                                length(expression.getRangeVariableDeclaration()) +
-                                (expression.hasSpaceAfterRangeVariableDeclaration() ? 1 : 0) +
-                                3 /* 'SET' */ +
-                                (expression.hasSpaceAfterSet() ? 1 : 0);
+                    6 /* UPDATE */ +
+                    (expression.hasSpaceAfterUpdate() ? 1 : 0) +
+                    length(expression.getRangeVariableDeclaration()) +
+                    (expression.hasSpaceAfterRangeVariableDeclaration() ? 1 : 0) +
+                    3 /* 'SET' */ +
+                    (expression.hasSpaceAfterSet() ? 1 : 0);
 
             addProblem(expression, startPosition, UpdateClause_MissingUpdateItems);
         }
         // Make sure the update items are separated by commas
         else {
             validateCollectionSeparatedByComma(
-                expression.getUpdateItems(),
-                UpdateClause_UpdateItemEndsWithComma,
-                UpdateClause_UpdateItemIsMissingComma
+                    expression.getUpdateItems(),
+                    UpdateClause_UpdateItemEndsWithComma,
+                    UpdateClause_UpdateItemIsMissingComma
             );
         }
 
@@ -4229,11 +4229,11 @@
 
         // Missing '='
         if (expression.hasStateFieldPathExpression() &&
-           !expression.hasEqualSign()) {
+                !expression.hasEqualSign()) {
 
             int startPosition = position(expression) +
-                                length(expression.getStateFieldPathExpression()) +
-                                (expression.hasSpaceAfterStateFieldPathExpression() ? 1 : 0);
+                    length(expression.getStateFieldPathExpression()) +
+                    (expression.hasSpaceAfterStateFieldPathExpression() ? 1 : 0);
 
             addProblem(expression, startPosition, UpdateItem_MissingEqualSign);
         }
@@ -4244,10 +4244,10 @@
             if (!expression.hasNewValue()) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getStateFieldPathExpression()) +
-                                    (expression.hasSpaceAfterStateFieldPathExpression() ? 1 : 0) +
-                                    1 /* '=' */ +
-                                    (expression.hasSpaceAfterEqualSign() ? 1 : 0);
+                        length(expression.getStateFieldPathExpression()) +
+                        (expression.hasSpaceAfterStateFieldPathExpression() ? 1 : 0) +
+                        1 /* '=' */ +
+                        (expression.hasSpaceAfterEqualSign() ? 1 : 0);
 
                 addProblem(expression, startPosition, UpdateItem_MissingNewValue);
             }
@@ -4290,36 +4290,36 @@
         if (!expression.hasWhenExpression()) {
 
             int startPosition = position(expression) +
-                                4 /* WHEN */ +
-                                (expression.hasSpaceAfterWhen() ? 1 : 0);
+                    4 /* WHEN */ +
+                    (expression.hasSpaceAfterWhen() ? 1 : 0);
 
             addProblem(expression, startPosition, WhenClause_MissingWhenExpression);
         }
 
         // THEN identifier is missing
         if (expression.hasWhenExpression() &&
-           !expression.hasThen()) {
+                !expression.hasThen()) {
 
             int startPosition = position(expression) +
-                                4 /* WHEN */ +
-                                (expression.hasSpaceAfterWhen() ? 1 : 0) +
-                                length(expression.getWhenExpression()) +
-                                (expression.hasSpaceAfterWhenExpression() ? 1 : 0);
+                    4 /* WHEN */ +
+                    (expression.hasSpaceAfterWhen() ? 1 : 0) +
+                    length(expression.getWhenExpression()) +
+                    (expression.hasSpaceAfterWhenExpression() ? 1 : 0);
 
             addProblem(expression, startPosition, WhenClause_MissingThenIdentifier);
         }
 
         // THEN expression is missing
         if (expression.hasThen() &&
-           !expression.hasThenExpression()) {
+                !expression.hasThenExpression()) {
 
             int startPosition = position(expression) +
-                                4 /* WHEN */ +
-                                (expression.hasSpaceAfterWhen() ? 1 : 0) +
-                                length(expression.getWhenExpression()) +
-                                (expression.hasSpaceAfterWhenExpression() ? 1 : 0) +
-                                4 /* THEN */ +
-                                (expression.hasSpaceAfterThen() ? 1 : 0);
+                    4 /* WHEN */ +
+                    (expression.hasSpaceAfterWhen() ? 1 : 0) +
+                    length(expression.getWhenExpression()) +
+                    (expression.hasSpaceAfterWhenExpression() ? 1 : 0) +
+                    4 /* THEN */ +
+                    (expression.hasSpaceAfterThen() ? 1 : 0);
 
             addProblem(expression, startPosition, WhenClause_MissingThenExpression);
         }
@@ -4330,9 +4330,9 @@
     @Override
     public void visit(WhereClause expression) {
         validateAbstractConditionalClause(
-            expression,
-            WhereClause_MissingConditionalExpression,
-            WhereClause_InvalidConditionalExpression
+                expression,
+                WhereClause_MissingConditionalExpression,
+                WhereClause_InvalidConditionalExpression
         );
     }
 
@@ -4397,11 +4397,11 @@
                     int endPosition   = startPosition;
 
                     validator.addProblem(
-                        expression,
-                        startPosition,
-                        endPosition,
-                        CollectionExpression_MissingExpression,
-                        String.valueOf(index + 1)
+                            expression,
+                            startPosition,
+                            endPosition,
+                            CollectionExpression_MissingExpression,
+                            String.valueOf(index + 1)
                     );
                 }
 
@@ -4418,12 +4418,12 @@
 
                     if (!validateOnly) {
                         validator.addProblem(
-                            expression,
-                            startPosition,
-                            endPosition,
-                            wrongSeparatorProblemKey,
-                            expression1.toParsedText(),
-                            expression2.toParsedText()
+                                expression,
+                                startPosition,
+                                endPosition,
+                                wrongSeparatorProblemKey,
+                                expression1.toParsedText(),
+                                expression2.toParsedText()
                         );
                     }
                 }
@@ -4466,7 +4466,7 @@
 
         protected boolean hasComma(T expression) {
             return !hasFirstExpression(expression) ||
-                   expression.hasComma();
+                    expression.hasComma();
         }
 
         protected boolean hasFirstExpression(T expression) {
@@ -4734,32 +4734,32 @@
         protected boolean isRightParenthesisMissing(T expression) {
 
             if (!expression.hasLeftParenthesis() ||
-                !expression.hasFirstExpression() ||
-                 expression.hasRightParenthesis()) {
+                    !expression.hasFirstExpression() ||
+                    expression.hasRightParenthesis()) {
 
                 return false;
             }
 
             if (expression.hasFirstExpression()  &&
-               !expression.hasFirstComma()       &&
-               !expression.hasSecondExpression() &&
-               !expression.hasSecondComma()      &&
-               !expression.hasThirdExpression()) {
+                    !expression.hasFirstComma()       &&
+                    !expression.hasSecondExpression() &&
+                    !expression.hasSecondComma()      &&
+                    !expression.hasThirdExpression()) {
 
                 return false;
             }
 
             if (expression.hasFirstComma()       &&
-               !expression.hasSecondExpression() &&
-               !expression.hasSecondComma()      &&
-               !expression.hasThirdExpression()) {
+                    !expression.hasSecondExpression() &&
+                    !expression.hasSecondComma()      &&
+                    !expression.hasThirdExpression()) {
 
                 return false;
             }
 
             if (expression.hasSecondExpression() &&
-                expression.hasSecondComma()      &&
-               !expression.hasThirdExpression()) {
+                    expression.hasSecondComma()      &&
+                    !expression.hasThirdExpression()) {
 
                 return false;
             }
@@ -4915,4 +4915,4 @@
             this.expression = expression;
         }
     }
-}
+}
\ No newline at end of file
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
index 75ffe38..b120266 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
@@ -336,7 +336,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        usedIdentificationVariables    = new ArrayList<IdentificationVariable>();
+        usedIdentificationVariables    = new ArrayList<>();
         registerIdentificationVariable = true;
     }
 
@@ -1567,7 +1567,7 @@
     protected void validateIdentificationVariables() {
 
         // Collect the identification variables from the Declarations
-        Map<String, List<IdentificationVariable>> identificationVariables = new HashMap<String, List<IdentificationVariable>>();
+        Map<String, List<IdentificationVariable>> identificationVariables = new HashMap<>();
         helper.collectLocalDeclarationIdentificationVariables(identificationVariables);
 
         // Check for duplicate identification variables
@@ -2124,7 +2124,7 @@
     protected void validateSimpleSelectStatement(SimpleSelectStatement expression) {
 
         // Keep a copy of the identification variables that are used throughout the parent query
-        List<IdentificationVariable> oldUsedIdentificationVariables = new ArrayList<IdentificationVariable>(usedIdentificationVariables);
+        List<IdentificationVariable> oldUsedIdentificationVariables = new ArrayList<>(usedIdentificationVariables);
 
         // Create a context for the subquery
         helper.newSubqueryContext(expression);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractValidator.java
index ec99eff..3cc8e2b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractValidator.java
@@ -319,7 +319,7 @@
     protected List<Expression> getChildren(Expression expression) {
         ChildrenCollectorVisitor visitor = getChildrenCollectorVisitor();
         try {
-            visitor.expressions = new LinkedList<Expression>();
+            visitor.expressions = new LinkedList<>();
             expression.accept(visitor);
             return visitor.expressions;
         }
@@ -500,7 +500,7 @@
      * Initializes this validator.
      */
     protected void initialize() {
-        validators = new HashMap<String, JPQLQueryBNFValidator>();
+        validators = new HashMap<>();
     }
 
     /**
@@ -930,7 +930,7 @@
             // Retrieve all the children from the "root" JPQLQueryBNF and
             // check if the BNF to validate is one of those children
             else {
-                Set<String> allQueryBNFIds = new HashSet<String>();
+                Set<String> allQueryBNFIds = new HashSet<>();
                 allJPQLQueryBNFs(allQueryBNFIds, this.queryBNF);
                 valid = allQueryBNFIds.contains(queryBNF.getId());
             }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/Assert.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/Assert.java
index 8895a5d..4077c90 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/Assert.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/Assert.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -128,6 +128,8 @@
      */
     public static class AssertException extends RuntimeException {
 
+        private static final long serialVersionUID = 0L;
+
         /**
          * Creates a new <code>AssertException</code>.
          *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.java
index 830f8ee..664b969 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/EclipseLinkGrammarValidator.java
@@ -57,7 +57,7 @@
  * @author Pascal Filion
  */
 public class EclipseLinkGrammarValidator extends AbstractGrammarValidator
-                                         implements EclipseLinkExpressionVisitor {
+        implements EclipseLinkExpressionVisitor {
 
     private InExpressionVisitor inExpressionVisitor;
     private InExpressionWithNestedArrayVisitor inExpressionWithNestedArrayVisitor;
@@ -106,7 +106,7 @@
             protected boolean hasComma(DatabaseType expression) {
                 // If the second expression is not specified, then the comma is not needed
                 return expression.hasComma() ||
-                      !expression.hasSecondExpression();
+                        !expression.hasSecondExpression();
             }
             @Override
             protected boolean hasFirstExpression(DatabaseType expression) {
@@ -121,9 +121,9 @@
                 // The parenthesis are optional unless one the following
                 // items is specified, then '(' is required
                 return !(expression.hasFirstExpression()  ||
-                         expression.hasComma()            ||
-                         expression.hasSecondExpression() ||
-                         expression.hasRightParenthesis());
+                        expression.hasComma()            ||
+                        expression.hasSecondExpression() ||
+                        expression.hasRightParenthesis());
             }
             @Override
             public boolean hasRightParenthesis(DatabaseType expression) {
@@ -133,9 +133,9 @@
                 // The parenthesis are optional unless one the following
                 // items is specified, then ')' is required
                 return !(expression.hasLeftParenthesis()  ||
-                         expression.hasFirstExpression()  ||
-                         expression.hasComma()            ||
-                         expression.hasSecondExpression());
+                        expression.hasFirstExpression()  ||
+                        expression.hasComma()            ||
+                        expression.hasSecondExpression());
             }
             @Override
             protected boolean hasSecondExpression(DatabaseType expression) {
@@ -182,9 +182,9 @@
             @Override
             protected int lengthBeforeEncapsulatedExpression(ExtractExpression expression) {
                 return expression.getDatePart().length() +
-                       (expression.hasSpaceAfterDatePart() ? 1 : 0) +
-                       (expression.hasFrom() ? 4 /* FROM */ : 0) +
-                       (expression.hasSpaceAfterFrom() ? 1 : 0);
+                        (expression.hasSpaceAfterDatePart() ? 1 : 0) +
+                        (expression.hasFrom() ? 4 /* FROM */ : 0) +
+                        (expression.hasSpaceAfterFrom() ? 1 : 0);
             }
             @Override
             public String rightParenthesisMissingKey(ExtractExpression expression) {
@@ -373,8 +373,8 @@
         if (!multipleSelectItemsAllowed) {
             Expression parent = expression.getParent();
             multipleSelectItemsAllowed = isOwnedByFromClause  (parent) ||
-                                         isOwnedByUnionClause (parent) ||
-                                         isOwnedByInExpression(parent);
+                    isOwnedByUnionClause (parent) ||
+                    isOwnedByInExpression(parent);
         }
 
         super.validateAbstractSelectClause(expression, multipleSelectItemsAllowed);
@@ -402,12 +402,12 @@
                 if (!expression.hasDatabaseType()) {
 
                     int startPosition = position(expression) +
-                                        4 /* CAST */ +
-                                        (expression.hasLeftParenthesis() ? 1 : 0) +
-                                        length(expression.getExpression()) +
-                                        (expression.hasSpaceAfterExpression() ? 1 : 0) +
-                                        (expression.hasAs() ? 2 : 0) +
-                                        (expression.hasSpaceAfterAs() ? 1 : 0);
+                            4 /* CAST */ +
+                            (expression.hasLeftParenthesis() ? 1 : 0) +
+                            length(expression.getExpression()) +
+                            (expression.hasSpaceAfterExpression() ? 1 : 0) +
+                            (expression.hasAs() ? 2 : 0) +
+                            (expression.hasSpaceAfterAs() ? 1 : 0);
 
                     addProblem(expression, startPosition, CastExpression_MissingDatabaseType);
                 }
@@ -438,14 +438,14 @@
         }
         else {
 
-                validateAbstractSingleEncapsulatedExpression(expression, extractExpressionHelper());
+            validateAbstractSingleEncapsulatedExpression(expression, extractExpressionHelper());
 
             // Missing date part
             if (expression.hasLeftParenthesis() && !expression.hasDatePart()) {
 
                 int startPosition = position(expression) +
-                                    7 /* EXTRACT */ +
-                                    (expression.hasLeftParenthesis() ? 1 : 0);
+                        7 /* EXTRACT */ +
+                        (expression.hasLeftParenthesis() ? 1 : 0);
 
                 addProblem(expression, startPosition, ExtractExpression_MissingDatePart);
             }
@@ -478,10 +478,10 @@
                 int endPosition   = startPosition;
 
                 addProblem(
-                    expression,
-                    startPosition,
-                    endPosition,
-                    RegexpExpression_MissingStringExpression
+                        expression,
+                        startPosition,
+                        endPosition,
+                        RegexpExpression_MissingStringExpression
                 );
             }
             else {
@@ -494,10 +494,10 @@
                     int endPosition   = startPosition + length(stringExpression);
 
                     addProblem(
-                        expression,
-                        startPosition,
-                        endPosition,
-                        RegexpExpression_InvalidStringExpression
+                            expression,
+                            startPosition,
+                            endPosition,
+                            RegexpExpression_InvalidStringExpression
                     );
                 }
                 // Validate string expression
@@ -510,10 +510,10 @@
             if (!expression.hasPatternValue()) {
 
                 int startPosition = position(expression) +
-                                    length(expression.getStringExpression()) +
-                                    (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                    6 /* REGEXP */ +
-                                    (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                        length(expression.getStringExpression()) +
+                        (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                        6 /* REGEXP */ +
+                        (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
                 int endPosition = startPosition;
 
@@ -526,18 +526,18 @@
                 if (!isValid(patternValue, PatternValueBNF.ID)) {
 
                     int startPosition = position(expression) +
-                                        length(expression.getStringExpression()) +
-                                        (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
-                                        6 /* REGEXP */ +
-                                        (expression.hasSpaceAfterIdentifier() ? 1 : 0);
+                            length(expression.getStringExpression()) +
+                            (expression.hasSpaceAfterStringExpression() ? 1 : 0) +
+                            6 /* REGEXP */ +
+                            (expression.hasSpaceAfterIdentifier() ? 1 : 0);
 
                     int endPosition = startPosition + length(patternValue);
 
                     addProblem(
-                        expression,
-                        startPosition,
-                        endPosition,
-                        RegexpExpression_InvalidPatternValue
+                            expression,
+                            startPosition,
+                            endPosition,
+                            RegexpExpression_InvalidPatternValue
                     );
                 }
                 // Validate pattern value
@@ -576,10 +576,10 @@
             if (!expression.hasIdentificationVariable()) {
 
                 int startPosition = position(expression) +
-                                    length(tableExpression) +
-                                    (expression.hasSpaceAfterTableExpression() ? 1 : 0) +
-                                    (expression.hasAs() ? 2 : 0) +
-                                    (expression.hasSpaceAfterAs() ? 1 : 0);
+                        length(tableExpression) +
+                        (expression.hasSpaceAfterTableExpression() ? 1 : 0) +
+                        (expression.hasAs() ? 2 : 0) +
+                        (expression.hasSpaceAfterAs() ? 1 : 0);
 
                 addProblem(expression, startPosition, TableVariableDeclaration_MissingIdentificationVariable);
             }
@@ -601,10 +601,10 @@
         else if (!expression.hasQuery()) {
 
             int startPosition = position(expression) +
-                                expression.getIdentifier().length() +
-                                (expression.hasSpaceAfterIdentifier() ? 1 : 0) +
-                                (expression.hasAll() ? 3 : 0) +
-                                (expression.hasSpaceAfterAll() ? 1 : 0);
+                    expression.getIdentifier().length() +
+                    (expression.hasSpaceAfterIdentifier() ? 1 : 0) +
+                    (expression.hasAll() ? 3 : 0) +
+                    (expression.hasSpaceAfterAll() ? 1 : 0);
 
             addProblem(expression, startPosition, UnionClause_MissingExpression);
         }
@@ -661,4 +661,4 @@
             expression.getParent().accept(this);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/ParameterTypeVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/ParameterTypeVisitor.java
index 573fc6e..4a4d46b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/ParameterTypeVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/ParameterTypeVisitor.java
@@ -130,7 +130,7 @@
      */
     protected ParameterTypeVisitor() {
         super();
-        this.visitedExpressions = new HashSet<Expression>();
+        this.visitedExpressions = new HashSet<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractConditionalClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractConditionalClause.java
index bfeadfe..54acef4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractConditionalClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractConditionalClause.java
@@ -101,13 +101,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getConditionalExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractDoubleEncapsulatedExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractDoubleEncapsulatedExpression.java
index 705ea77..2fedfcb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractDoubleEncapsulatedExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractDoubleEncapsulatedExpression.java
@@ -108,15 +108,15 @@
      */
     public final CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(3);
+        List<AbstractExpression> children = new ArrayList<>(3);
         children.add((AbstractExpression) getFirstExpression());
         children.add((AbstractExpression) getSecondExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(2);
+        List<Boolean> commas = new ArrayList<>(2);
         commas.add(hasComma);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(2);
+        List<Boolean> spaces = new ArrayList<>(2);
         spaces.add(hasSpaceAfterComma);
         spaces.add(Boolean.FALSE);
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpression.java
index 2abfce0..2980e1c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpression.java
@@ -392,10 +392,10 @@
     @Override
     public final ListIterable<Expression> children() {
         if (children == null) {
-            children = new LinkedList<Expression>();
+            children = new LinkedList<>();
             addChildrenTo(children);
         }
-        return new SnapshotCloneListIterable<Expression>(children);
+        return new SnapshotCloneListIterable<>(children);
     }
 
     /**
@@ -646,10 +646,10 @@
     @Override
     public final ListIterable<Expression> orderedChildren() {
         if (orderedChildren == null) {
-            orderedChildren = new LinkedList<Expression>();
+            orderedChildren = new LinkedList<>();
             addOrderedChildrenTo(orderedChildren);
         }
-        return new SnapshotCloneListIterable<Expression>(orderedChildren);
+        return new SnapshotCloneListIterable<>(orderedChildren);
     }
 
     /**
@@ -1213,19 +1213,19 @@
         }
 
         List<AbstractExpression> buildChildren() {
-            ArrayList<AbstractExpression> children = new ArrayList<AbstractExpression>();
+            ArrayList<AbstractExpression> children = new ArrayList<>();
             addChild(children);
             return children;
         }
 
         List<Boolean> buildCommas() {
-            ArrayList<Boolean> children = new ArrayList<Boolean>();
+            ArrayList<Boolean> children = new ArrayList<>();
             addComma(children);
             return children;
         }
 
         List<Boolean> buildSpaces() {
-            ArrayList<Boolean> children = new ArrayList<Boolean>();
+            ArrayList<Boolean> children = new ArrayList<>();
             addSpace(children);
             return children;
         }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java
index c02121c..6ff3529 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractFromClause.java
@@ -146,13 +146,13 @@
      */
     public final CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getDeclaration());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractOrderByClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractOrderByClause.java
index 01ff556..5f5febe 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractOrderByClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractOrderByClause.java
@@ -87,13 +87,13 @@
      */
     public final CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getOrderByItems());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, spaces, commas, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractPathExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractPathExpression.java
index 4c67563..5b641f5 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractPathExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractPathExpression.java
@@ -137,7 +137,7 @@
             return;
         }
 
-        paths = new ArrayList<String>();
+        paths = new ArrayList<>();
         String text = getText();
         char character = '\0';
         StringBuilder singlePath = new StringBuilder();
@@ -291,7 +291,7 @@
      */
     public final ListIterable<String> paths() {
         checkPaths();
-        return new SnapshotCloneListIterable<String>(paths);
+        return new SnapshotCloneListIterable<>(paths);
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractSelectClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractSelectClause.java
index 70ecaf7..90f6e56 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractSelectClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractSelectClause.java
@@ -118,13 +118,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getSelectExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTripleEncapsulatedExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTripleEncapsulatedExpression.java
index 8eabcc7..f7dabe1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTripleEncapsulatedExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTripleEncapsulatedExpression.java
@@ -144,17 +144,17 @@
      */
     public final CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(3);
+        List<AbstractExpression> children = new ArrayList<>(3);
         children.add((AbstractExpression) getFirstExpression());
         children.add((AbstractExpression) getSecondExpression());
         children.add((AbstractExpression) getThirdExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(3);
+        List<Boolean> commas = new ArrayList<>(3);
         commas.add(hasFirstComma);
         commas.add(hasSecondComma);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(3);
+        List<Boolean> spaces = new ArrayList<>(3);
         spaces.add(hasSpaceAfterFirstComma);
         spaces.add(hasSpaceAfterSecondComma);
         spaces.add(Boolean.FALSE);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConcatExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConcatExpression.java
index 369aaa8..4c78e79 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConcatExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConcatExpression.java
@@ -59,13 +59,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpression.java
index 3e4c30a..635a5c2 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpression.java
@@ -135,13 +135,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getConstructorItems());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClause.java
index a41d14d..6b9cb5d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClause.java
@@ -119,13 +119,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getRangeVariableDeclaration());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.java
index fea7458..40c7899 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExpressionRegistry.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -215,10 +215,10 @@
      * Instantiates the only instance of various API used by the parser.
      */
     protected void initialize() {
-        queryBNFs           = new HashMap<String, JPQLQueryBNF>();
-        identifiers         = new HashMap<String, IdentifierRole>();
-        expressionFactories = new HashMap<String, ExpressionFactory>();
-        identifierVersions  = new HashMap<String, JPAVersion>();
+        queryBNFs           = new HashMap<>();
+        identifiers         = new HashMap<>();
+        expressionFactories = new HashMap<>();
+        identifierVersions  = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClause.java
index 9964c36..7ce894d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClause.java
@@ -92,13 +92,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getGroupByItems());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclaration.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclaration.java
index e17822f..f2b2ebb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclaration.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclaration.java
@@ -106,13 +106,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getJoins());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.java
index 34f02a5..baa75c1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLQueryBNF.java
@@ -192,7 +192,7 @@
 
     private JPQLQueryBNF[] buildChildren(Filter<JPQLQueryBNF> filter) {
 
-        Set<JPQLQueryBNF> queryBNFs = new HashSet<JPQLQueryBNF>();
+        Set<JPQLQueryBNF> queryBNFs = new HashSet<>();
         queryBNFs.add(this);
         addChildren(queryBNFs, filter);
 
@@ -208,7 +208,7 @@
 
             if (cachedExpressionFactories == null) {
 
-                Map<String, ExpressionFactory> factories = new HashMap<String, ExpressionFactory>();
+                Map<String, ExpressionFactory> factories = new HashMap<>();
 
                 // Caches the ExpressionFactory mapped by all the JPQL identifiers that
                 // are registered for that ExpressionFactory
@@ -284,7 +284,7 @@
      * @return The children BNFs describing this BNF rule
      */
     public Iterable<JPQLQueryBNF> children() {
-        return new ArrayIterable<JPQLQueryBNF>(getChildren());
+        return new ArrayIterable<>(getChildren());
     }
 
     private JPQLQueryBNF[] getChildren() {
@@ -334,7 +334,7 @@
      * BNF rule and with its children
      */
     public Iterable<String> getExpressionFactoryIds() {
-        return new ArrayIterable<String>(getExpressionFactoryIdsImp());
+        return new ArrayIterable<>(getExpressionFactoryIdsImp());
     }
 
     private String[] getExpressionFactoryIdsImp() {
@@ -349,8 +349,8 @@
 
             if (cachedExpressionFactoryIds == null) {
 
-                Set<JPQLQueryBNF> queryBNFs = new HashSet<JPQLQueryBNF>();
-                Set<String> factoryIds = new HashSet<String>();
+                Set<JPQLQueryBNF> queryBNFs = new HashSet<>();
+                Set<String> factoryIds = new HashSet<>();
                 calculateExpressionFactoryIds(queryBNFs, factoryIds);
 
                 cachedExpressionFactoryIds = new String[factoryIds.size()];
@@ -418,13 +418,13 @@
         // identifiers has not been copied from cachedExpressionFactoryIds yet.
         // cachedExpressionFactoryIds is set at the end of the method, insuring proper initialization
         if (cachedExpressionFactoryIds != null) {
-            return new ArrayIterable<String>(cachedIdentifiers);
+            return new ArrayIterable<>(cachedIdentifiers);
         }
 
         // Synchronize to make sure only one thread populates the list of JPQL identifiers
         calculateExpressionFactories();
 
-        return new ArrayIterable<String>(cachedIdentifiers);
+        return new ArrayIterable<>(cachedIdentifiers);
     }
 
     /**
@@ -444,7 +444,7 @@
         // Synchronize to make sure only one thread calculates it
         synchronized (this) {
             if (handleAggregate == null) {
-                Set<JPQLQueryBNF> children = new HashSet<JPQLQueryBNF>();
+                Set<JPQLQueryBNF> children = new HashSet<>();
                 handleAggregate = calculateHandleAggregate(children);
             }
         }
@@ -469,7 +469,7 @@
         // Synchronize to make sure only one thread calculates it
         synchronized (this) {
             if (handleCollection == null) {
-                Set<JPQLQueryBNF> children = new HashSet<JPQLQueryBNF>();
+                Set<JPQLQueryBNF> children = new HashSet<>();
                 handleCollection = calculateHandleCollection(children);
             }
         }
@@ -579,7 +579,7 @@
 
         // No need to synchronize if the list of child BNFs (non-compound) was calculated
         if (nonCompoundChildren != null) {
-            return new ArrayIterable<JPQLQueryBNF>(nonCompoundChildren);
+            return new ArrayIterable<>(nonCompoundChildren);
         }
 
         // Synchronize to make sure only one thread populates the list of child BNFs (non-compound)
@@ -589,7 +589,7 @@
             }
         }
 
-        return new ArrayIterable<JPQLQueryBNF>(nonCompoundChildren);
+        return new ArrayIterable<>(nonCompoundChildren);
     }
 
     /**
@@ -605,7 +605,7 @@
         }
 
         if (children == null) {
-            children = new LinkedList<String>();
+            children = new LinkedList<>();
         }
 
         children.add(queryBNFId);
@@ -624,7 +624,7 @@
         }
 
         if (expressionFactoryIds == null) {
-            expressionFactoryIds = new LinkedList<String>();
+            expressionFactoryIds = new LinkedList<>();
         }
 
         expressionFactoryIds.add(expressionFactoryId);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QueryPosition.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QueryPosition.java
index 5fe81a2..6aed4d8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QueryPosition.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QueryPosition.java
@@ -51,7 +51,7 @@
     public QueryPosition(int position) {
         super();
         this.position  = position;
-        this.positions = new HashMap<Expression, Integer>();
+        this.positions = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClause.java
index 1d759c6..26c7692 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClause.java
@@ -141,13 +141,13 @@
      */
     public CollectionExpression buildCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add((AbstractExpression) getUpdateItems());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(Boolean.FALSE);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClause.java
index 599eefd..01f9b94 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClause.java
@@ -138,13 +138,13 @@
      */
     public CollectionExpression buildWhenCollectionExpression() {
 
-        List<AbstractExpression> children = new ArrayList<AbstractExpression>(1);
+        List<AbstractExpression> children = new ArrayList<>(1);
         children.add(getWhenExpression());
 
-        List<Boolean> commas = new ArrayList<Boolean>(1);
+        List<Boolean> commas = new ArrayList<>(1);
         commas.add(Boolean.FALSE);
 
-        List<Boolean> spaces = new ArrayList<Boolean>(1);
+        List<Boolean> spaces = new ArrayList<>(1);
         spaces.add(hasSpaceAfterWhenExpression);
 
         return new CollectionExpression(this, children, commas, spaces, true);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractContentAssistVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractContentAssistVisitor.java
index df1d0df..336d0ec 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractContentAssistVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractContentAssistVisitor.java
@@ -852,7 +852,7 @@
                 IType type = queryContext.getType(expression);
                 TypeHelper typeHelper = queryContext.getTypeHelper();
                 return typeHelper.isCollectionType(type) ||
-                       typeHelper.isMapType(type);
+                        typeHelper.isMapType(type);
             }
         };
     }
@@ -1034,7 +1034,7 @@
         }
 
         // This will filter the property mappings
-        return new AndFilter<IMapping>(new MappingTypeFilter(type, this), filter);
+        return new AndFilter<>(new MappingTypeFilter(type, this), filter);
     }
 
     protected Filter<IMapping> buildMappingFilter(Expression expression) {
@@ -1059,7 +1059,7 @@
                 IType type = queryContext.getType(expression);
                 TypeHelper typeHelper = queryContext.getTypeHelper();
                 return !typeHelper.isCollectionType(type) &&
-                       !typeHelper.isMapType(type);
+                        !typeHelper.isMapType(type);
             }
         };
     }
@@ -1838,16 +1838,16 @@
      */
     protected void initialize() {
 
-        helpers = new HashMap<Class<?>, Object>();
-        lockedExpressions = new Stack<Expression>();
+        helpers = new HashMap<>();
+        lockedExpressions = new Stack<>();
 
-        virtualSpaces = new Stack<Integer>();
+        virtualSpaces = new Stack<>();
         virtualSpaces.add(0);
 
-        corrections = new Stack<Integer>();
+        corrections = new Stack<>();
         corrections.add(0);
 
-        identifierFilters = new HashMap<String, Filter<Expression>>();
+        identifierFilters = new HashMap<>();
         identifierFilters.put(DIFFERENT,             VALID_IDENTIFIER_FILTER);
         identifierFilters.put(EQUAL,                 VALID_IDENTIFIER_FILTER);
         identifierFilters.put(MEMBER,                VALID_IDENTIFIER_FILTER);
@@ -8569,7 +8569,7 @@
             if (suffix.length() == 0) {
                 return filter;
             }
-            return new AndFilter<IMapping>(filter, buildMappingNameFilter(suffix));
+            return new AndFilter<>(filter, buildMappingNameFilter(suffix));
         }
 
         protected Filter<IMapping> buildMappingNameFilter(final String suffix) {
@@ -8590,7 +8590,7 @@
                 return Collections.emptyList();
             }
 
-            ArrayList<IMapping> mappings = new ArrayList<IMapping>();
+            ArrayList<IMapping> mappings = new ArrayList<>();
             addFilteredMappings(managedType, mappings);
             return mappings;
         }
@@ -9332,7 +9332,7 @@
                 return CollectionTools.list(ORDER_BY);
             }
 
-            return new LinkedList<String>();
+            return new LinkedList<>();
         }
 
         /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractJPQLQueryHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractJPQLQueryHelper.java
index 8670d9e..108d8aa 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractJPQLQueryHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/AbstractJPQLQueryHelper.java
@@ -309,7 +309,7 @@
         }
 
         // Now find the closest type for each location
-        TreeSet<IType> types = new TreeSet<IType>(buildNumericTypeComparator());
+        TreeSet<IType> types = new TreeSet<>(buildNumericTypeComparator());
 
         for (InputParameter inputParameter : inputParameters) {
             IType type = queryContext.getParameterType(inputParameter);
@@ -449,7 +449,7 @@
      * problems} if any was found
      */
     public List<JPQLQueryProblem> validate() {
-        List<JPQLQueryProblem> problems = new LinkedList<JPQLQueryProblem>();
+        List<JPQLQueryProblem> problems = new LinkedList<>();
         validate(getJPQLExpression(), problems);
         return problems;
     }
@@ -473,7 +473,7 @@
      * problems} if any was found
      */
     public List<JPQLQueryProblem> validateGrammar() {
-        List<JPQLQueryProblem> problems = new LinkedList<JPQLQueryProblem>();
+        List<JPQLQueryProblem> problems = new LinkedList<>();
         validateGrammar(getJPQLExpression(), problems);
         return problems;
     }
@@ -503,7 +503,7 @@
      * problems} if any was found
      */
     public List<JPQLQueryProblem> validateSemantic() {
-        List<JPQLQueryProblem> problems = new LinkedList<JPQLQueryProblem>();
+        List<JPQLQueryProblem> problems = new LinkedList<>();
         validateSemantic(getJPQLExpression(), problems);
         return problems;
     }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/BasicRefactoringTool.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/BasicRefactoringTool.java
index 10a7b94..e20d8fc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/BasicRefactoringTool.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/BasicRefactoringTool.java
@@ -373,7 +373,7 @@
          */
         protected AbstractRenamer() {
             super();
-            textEdits = new ArrayList<TextEdit>();
+            textEdits = new ArrayList<>();
         }
 
         /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultContentAssistProposals.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultContentAssistProposals.java
index 35011df..0c06b9e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultContentAssistProposals.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultContentAssistProposals.java
@@ -182,7 +182,7 @@
 
     private static Map<String, String> buildLonguestIdentifiers() {
 
-        Map<String, String> identifiers = new HashMap<String, String>();
+        Map<String, String> identifiers = new HashMap<>();
 
         identifiers.put(IS_EMPTY,         IS_NOT_EMPTY);
         identifiers.put(IS_NULL,          IS_NOT_NULL);
@@ -207,20 +207,20 @@
 
     private static Map<String, List<String>> buildOrderedIdentifiers() {
 
-        Map<String, List<String>> identifiers = new HashMap<String, List<String>>();
+        Map<String, List<String>> identifiers = new HashMap<>();
 
         identifiers.put(IS_NOT_EMPTY, Collections.singletonList(IS_NOT_EMPTY));
         identifiers.put(IS_NOT_NULL,  Collections.singletonList(IS_NOT_NULL));
         identifiers.put(NOT_IN,       Collections.singletonList(NOT_IN));
         identifiers.put(NOT_BETWEEN,  Collections.singletonList(NOT_BETWEEN));
 
-        List<String> members = new ArrayList<String>();
+        List<String> members = new ArrayList<>();
         members.add(MEMBER_OF);
         members.add(NOT_MEMBER);
         members.add(MEMBER);
         identifiers.put(NOT_MEMBER_OF, members);
 
-        List<String> joins = new ArrayList<String>();
+        List<String> joins = new ArrayList<>();
         joins.add(LEFT_OUTER_JOIN);
         joins.add(LEFT_JOIN_FETCH);
         joins.add(LEFT_JOIN);
@@ -230,7 +230,7 @@
         joins.add(JOIN);
         identifiers.put(LEFT_OUTER_JOIN_FETCH, joins);
 
-        List<String> clauses = new ArrayList<String>();
+        List<String> clauses = new ArrayList<>();
         clauses.add(SELECT);
         clauses.add(UPDATE);
         identifiers.put(DELETE_FROM, clauses);
@@ -240,7 +240,7 @@
 
     @Override
     public Iterable<IEntity> abstractSchemaTypes() {
-        return new SnapshotCloneIterable<IEntity>(entities);
+        return new SnapshotCloneIterable<>(entities);
     }
 
     /**
@@ -530,7 +530,7 @@
 
     @Override
     public Iterable<EnumProposals> enumConstant() {
-        return new SnapshotCloneIterable<EnumProposals>(enumProposals.values());
+        return new SnapshotCloneIterable<>(enumProposals.values());
     }
 
     @Override
@@ -617,27 +617,27 @@
 
     @Override
     public Iterable<String> identificationVariables() {
-        List<String> variables = new ArrayList<String>(identificationVariables.size() + rangeIdentificationVariables.size());
+        List<String> variables = new ArrayList<>(identificationVariables.size() + rangeIdentificationVariables.size());
         variables.addAll(identificationVariables);
         variables.addAll(rangeIdentificationVariables.keySet());
-        return new SnapshotCloneIterable<String>(variables);
+        return new SnapshotCloneIterable<>(variables);
     }
 
     @Override
     public Iterable<String> identifiers() {
-        return new SnapshotCloneIterable<String>(identifiers);
+        return new SnapshotCloneIterable<>(identifiers);
     }
 
     protected void initialize(JPQLGrammar jpqlGrammar, ContentAssistExtension extension) {
 
         this.extension                    = extension;
         this.jpqlGrammar                  = jpqlGrammar;
-        this.mappings                     = new HashSet<IMapping>();
-        this.identifiers                  = new HashSet<String>();
-        this.entities                     = new HashSet<IEntity>();
-        this.identificationVariables      = new HashSet<String>();
-        this.rangeIdentificationVariables = new HashMap<String, IEntity>();
-        this.enumProposals                = new HashMap<IType, DefaultEnumProposals>();
+        this.mappings                     = new HashSet<>();
+        this.identifiers                  = new HashSet<>();
+        this.entities                     = new HashSet<>();
+        this.identificationVariables      = new HashSet<>();
+        this.rangeIdentificationVariables = new HashMap<>();
+        this.enumProposals                = new HashMap<>();
     }
 
 
@@ -713,7 +713,7 @@
 
     @Override
     public Iterable<IMapping> mappings() {
-        return new SnapshotCloneIterable<IMapping>(mappings);
+        return new SnapshotCloneIterable<>(mappings);
     }
 
     /**
@@ -877,12 +877,12 @@
         DefaultEnumProposals(IType enumType) {
             super();
             this.enumType  = enumType;
-            this.constants = new HashSet<String>();
+            this.constants = new HashSet<>();
         }
 
         @Override
         public Iterable<String> enumConstants() {
-            return new SnapshotCloneIterable<String>(constants);
+            return new SnapshotCloneIterable<>(constants);
         }
 
         @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultRefactoringDelta.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultRefactoringDelta.java
index bba3892..bf53d8c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultRefactoringDelta.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultRefactoringDelta.java
@@ -149,7 +149,7 @@
     protected void initialize(CharSequence jpqlQuery) {
         Assert.isNotNull(jpqlQuery, "The JPQL query cannot be null");
         this.jpqlQuery = jpqlQuery;
-        this.textEdits = new LinkedList<TextEdit>();
+        this.textEdits = new LinkedList<>();
     }
 
     @Override
@@ -159,7 +159,7 @@
 
     @Override
     public ListIterable<TextEdit> textEdits() {
-        return new SnapshotCloneListIterable<TextEdit>(textEdits);
+        return new SnapshotCloneListIterable<>(textEdits);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultSemanticValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultSemanticValidator.java
index 29a86e9..0fb520d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultSemanticValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultSemanticValidator.java
@@ -271,7 +271,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        validators = new HashMap<Class<? extends TypeValidator>, TypeValidator>();
+        validators = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/GenericSemanticValidatorHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/GenericSemanticValidatorHelper.java
index 4748806..70b1a66 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/GenericSemanticValidatorHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/GenericSemanticValidatorHelper.java
@@ -17,6 +17,7 @@
 package org.eclipse.persistence.jpa.jpql.tools;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import org.eclipse.persistence.jpa.jpql.Assert;
@@ -30,6 +31,7 @@
 import org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar;
 import org.eclipse.persistence.jpa.jpql.parser.Join;
 import org.eclipse.persistence.jpa.jpql.parser.SimpleSelectStatement;
+import org.eclipse.persistence.jpa.jpql.tools.model.JPQLQueryBuilderWrapper;
 import org.eclipse.persistence.jpa.jpql.tools.resolver.Declaration;
 import org.eclipse.persistence.jpa.jpql.tools.resolver.DeclarationResolver;
 import org.eclipse.persistence.jpa.jpql.tools.resolver.Resolver;
@@ -93,7 +95,7 @@
             List<IdentificationVariable> variables = identificationVariables.get(variableName);
 
             if (variables == null) {
-                variables = new ArrayList<IdentificationVariable>();
+                variables = new ArrayList<>();
                 identificationVariables.put(variableName, variables);
             }
 
@@ -154,7 +156,7 @@
     @Override
     public String[] entityNames() {
 
-        List<String> names = new ArrayList<String>();
+        List<String> names = new ArrayList<>();
 
         for (IEntity entity : queryContext.getProvider().entities()) {
             names.add(entity.getName());
@@ -166,7 +168,7 @@
     @Override
     public List<JPQLQueryDeclaration> getAllDeclarations() {
 
-        List<JPQLQueryDeclaration> declarations = new ArrayList<JPQLQueryDeclaration>();
+        List<JPQLQueryDeclaration> declarations = new ArrayList<>();
         JPQLQueryContext context = queryContext.getCurrentContext();
 
         while (context != null) {
@@ -183,9 +185,8 @@
     }
 
     @Override
-    @SuppressWarnings({ "rawtypes", "unchecked" })
-    public List getDeclarations() {
-        return queryContext.getDeclarations();
+    public List<JPQLQueryDeclaration> getDeclarations() {
+        return new ArrayList<>(queryContext.getDeclarations());
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/JPQLQueryContext.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/JPQLQueryContext.java
index 7fc0657..6143b79 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/JPQLQueryContext.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/JPQLQueryContext.java
@@ -270,7 +270,7 @@
 
         try {
             visitor.parameterName   = parameterName;
-            visitor.inputParameters = new ArrayList<InputParameter>();
+            visitor.inputParameters = new ArrayList<>();
 
             jpqlExpression.accept(visitor);
 
@@ -713,7 +713,7 @@
         this.tolerant       = true;
         this.currentContext = this;
         this.jpqlGrammar    = jpqlGrammar;
-        this.contexts       = new HashMap<Expression, JPQLQueryContext>();
+        this.contexts       = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
index b747bf0..964730b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
@@ -33,7 +33,7 @@
     /**
      * The delegate to receive the calls from this one.
      */
-    private IConditionalExpressionStateObjectBuilder delegate;
+    private final IConditionalExpressionStateObjectBuilder delegate;
 
     /**
      * Creates a new <code>AbstractConditionalStateObjectBuilderWrapper</code>.
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractSelectExpressionStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractSelectExpressionStateObjectBuilder.java
index 9ea6389..f8217a6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractSelectExpressionStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractSelectExpressionStateObjectBuilder.java
@@ -43,7 +43,7 @@
      */
     protected AbstractSelectExpressionStateObjectBuilder(SelectClauseStateObject parent) {
         super(parent);
-        stateObjectList = new ArrayList<StateObject>();
+        stateObjectList = new ArrayList<>();
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractStateObjectBuilder.java
index 1fc2fbb..464b6a6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractStateObjectBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -41,7 +41,7 @@
      */
     protected AbstractStateObjectBuilder() {
         super();
-        stateObjects = new Stack<StateObject>();
+        stateObjects = new Stack<>();
     }
 
     /**
@@ -70,6 +70,7 @@
      * @param builders The builders that were passed as arguments, which is only meant to create the
      * stack of {@link StateObject StateObjects} in the right order
      */
+    @SafeVarargs
     protected final <T extends IScalarExpressionStateObjectBuilder<?>> void checkBuilders(T... builders) {
         for (IScalarExpressionStateObjectBuilder<?> builder : builders) {
             checkBuilder(builder);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/BasicStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/BasicStateObjectBuilder.java
index fd56876..0f072e4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/BasicStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/BasicStateObjectBuilder.java
@@ -322,7 +322,7 @@
     protected <T extends StateObject> List<T> buildChildren(Expression expression) {
 
         StateObject oldStateObject = stateObject;
-        List<T> stateObjects = new ArrayList<T>();
+        List<T> stateObjects = new ArrayList<>();
 
         for (Expression child : children(expression)) {
             child.accept(this);
@@ -1733,7 +1733,7 @@
         }
 
         void reset() {
-            children = new ArrayList<Expression>();
+            children = new ArrayList<>();
         }
 
         @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/ListChangeEvent.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/ListChangeEvent.java
index 3a78774..c2acb4c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/ListChangeEvent.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/ListChangeEvent.java
@@ -101,7 +101,7 @@
 
     @Override
     public ListIterable<T> items() {
-        return new SnapshotCloneListIterable<T>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractFromClauseStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractFromClauseStateObject.java
index 5a8a23c..0b1936c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractFromClauseStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractFromClauseStateObject.java
@@ -217,13 +217,13 @@
      */
     public Iterable<IdentificationVariableStateObject> identificationVariables() {
 
-        List<IdentificationVariableStateObject> stateObjects = new ArrayList<IdentificationVariableStateObject>();
+        List<IdentificationVariableStateObject> stateObjects = new ArrayList<>();
 
         for (VariableDeclarationStateObject stateObject : items()) {
             CollectionTools.addAll(stateObjects, stateObject.identificationVariables());
         }
 
-        return new SnapshotCloneIterable<IdentificationVariableStateObject>(stateObjects);
+        return new SnapshotCloneIterable<>(stateObjects);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractIdentificationVariableDeclarationStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractIdentificationVariableDeclarationStateObject.java
index 493016d..374bfa9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractIdentificationVariableDeclarationStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractIdentificationVariableDeclarationStateObject.java
@@ -230,12 +230,12 @@
 
     @Override
     public ListIterable<IdentificationVariableStateObject> identificationVariables() {
-        List<IdentificationVariableStateObject> stateObjects = new ArrayList<IdentificationVariableStateObject>();
+        List<IdentificationVariableStateObject> stateObjects = new ArrayList<>();
         stateObjects.add(rangeVariableDeclaration.getIdentificationVariableStateObject());
         for (JoinStateObject join : items()) {
             stateObjects.add(join.getIdentificationVariableStateObject());
         }
-        return new SnapshotCloneListIterable<IdentificationVariableStateObject>(stateObjects);
+        return new SnapshotCloneListIterable<>(stateObjects);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractListHolderStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractListHolderStateObject.java
index e01d341..6f5ff9a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractListHolderStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractListHolderStateObject.java
@@ -60,7 +60,7 @@
      */
     protected AbstractListHolderStateObject(StateObject parent, List<? extends T> items) {
         super(parent);
-        this.items = new ArrayList<T>(items);
+        this.items = new ArrayList<>(items);
         parent(items);
     }
 
@@ -71,6 +71,8 @@
      * @param items The list of {@link StateObject StateObjects} to add as children to this one
      * @exception NullPointerException The given parent cannot be <code>null</code>
      */
+    @SafeVarargs
+    @SuppressWarnings({"varargs"})
     protected AbstractListHolderStateObject(StateObject parent, T... items) {
         super(parent);
         this.items = new ArrayList<>();
@@ -150,12 +152,12 @@
     @Override
     protected void initialize() {
         super.initialize();
-        items = new ArrayList<T>();
+        items = new ArrayList<>();
     }
 
     @Override
     public ListIterable<? extends T> items() {
-        return new SnapshotCloneListIterable<T>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractModifyClauseStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractModifyClauseStateObject.java
index cffa4ca..5963c37 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractModifyClauseStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractModifyClauseStateObject.java
@@ -53,7 +53,7 @@
 
     @Override
     public ListIterable<VariableDeclarationStateObject> declarations() {
-        return new SingleElementListIterable<VariableDeclarationStateObject>(rangeVariableDeclaration);
+        return new SingleElementListIterable<>(rangeVariableDeclaration);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractPathExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractPathExpressionStateObject.java
index f75ca75..7a492d0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractPathExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractPathExpressionStateObject.java
@@ -140,8 +140,7 @@
     }
 
     @Override
-    @SuppressWarnings("unchecked")
-    public String addItem(String item) {
+    public <S extends String> S addItem(S item) {
         getChangeSupport().addItem(this, paths, PATHS_LIST, item);
         return item;
     }
@@ -213,7 +212,7 @@
             }
         }
 
-        ListChangeEvent<String> event = new ListChangeEvent<String>(this, paths, EventType.CHANGED, PATHS_LIST, paths, startIndex, itemsSize());
+        ListChangeEvent<String> event = new ListChangeEvent<>(this, paths, EventType.CHANGED, PATHS_LIST, paths, startIndex, itemsSize());
         getChangeSupport().fireListChangeEvent(event);
     }
 
@@ -347,8 +346,8 @@
     @Override
     protected void initialize() {
         super.initialize();
-        paths    = new ArrayList<String>();
-        mappings = new ArrayList<IMapping>();
+        paths    = new ArrayList<>();
+        mappings = new ArrayList<>();
     }
 
     @Override
@@ -386,7 +385,7 @@
 
     @Override
     public ListIterable<String> items() {
-        return new SnapshotCloneListIterable<String>(paths);
+        return new SnapshotCloneListIterable<>(paths);
     }
 
     @Override
@@ -538,7 +537,7 @@
      */
     public void setPath(CharSequence path) {
 
-        List<String> paths = new ArrayList<String>();
+        List<String> paths = new ArrayList<>();
 
         for (StringTokenizer tokenizer = new StringTokenizer(path.toString(), ".", true); tokenizer.hasMoreTokens(); ) {
             String token = tokenizer.nextToken();
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractRangeVariableDeclarationStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractRangeVariableDeclarationStateObject.java
index 2f22264..1585119 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractRangeVariableDeclarationStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractRangeVariableDeclarationStateObject.java
@@ -187,7 +187,7 @@
 
     @Override
     public ListIterable<IdentificationVariableStateObject> identificationVariables() {
-        return new SingleElementListIterable<IdentificationVariableStateObject>(identificationVariable);
+        return new SingleElementListIterable<>(identificationVariable);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractStateObject.java
index dc3a505..3f39dbe 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AbstractStateObject.java
@@ -277,7 +277,7 @@
         queryBNF.setFallbackBNFId(queryBNFId);
         queryBNF.registerQueryBNF(queryBNFId);
 
-        final List<StateObject> items = new ArrayList<StateObject>();
+        final List<StateObject> items = new ArrayList<>();
 
         try {
             StateObject stateObject = buildStateObject(jpqlFragment, queryBNF.getId());
@@ -316,9 +316,9 @@
 
     @Override
     public final Iterable<StateObject> children() {
-        List<StateObject> children = new ArrayList<StateObject>();
+        List<StateObject> children = new ArrayList<>();
         addChildren(children);
-        return new SnapshotCloneIterable<StateObject>(children);
+        return new SnapshotCloneIterable<>(children);
     }
 
     @Override
@@ -478,7 +478,9 @@
      * @param stateObjects The list of {@link StateObject} to have this one as its parent
      * @return The given list of {@link StateObject}
      */
-    protected <T extends StateObject> T[] parent(T... stateObjects) {
+    @SafeVarargs
+    @SuppressWarnings({"varargs"})
+    protected final <T extends StateObject> T[] parent(T... stateObjects) {
         for (StateObject stateObject : stateObjects) {
             parent(stateObject);
         }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/ChangeSupport.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/ChangeSupport.java
index 8bc04f6..114748b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/ChangeSupport.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/ChangeSupport.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -103,20 +103,20 @@
                              String listName,
                              List<? extends T> items) {
 
-        List<T> original = new ArrayList<T>(list);
+        List<T> original = new ArrayList<>(list);
         int index = list.size();
         list.addAll(index, items);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                EventType.ADDED,
-                listName,
-                new ArrayList<T>(items),
-                index,
-                index
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    EventType.ADDED,
+                    listName,
+                    new ArrayList<T>(items),
+                    index,
+                    index
             );
 
             fireListChangeEvent(event);
@@ -159,7 +159,7 @@
         List<T> listenerList = listeners.get(name);
 
         if (listenerList == null) {
-            listenerList = new ArrayList<T>();
+            listenerList = new ArrayList<>();
             listeners.put(name, listenerList);
         }
 
@@ -237,7 +237,7 @@
         if (ExpressionTools.valuesAreDifferent(oldValue, newValue) &&
             hasPropertyChangeListeners(propertyName)) {
 
-            PropertyChangeEvent<Object> event = new PropertyChangeEvent<Object>(source, propertyName, oldValue, newValue);
+            PropertyChangeEvent<Object> event = new PropertyChangeEvent<>(source, propertyName, oldValue, newValue);
 
             for (IPropertyChangeListener<?> listener : propertyChangeListeners(propertyName)) {
                 try {
@@ -297,8 +297,8 @@
         Assert.isNotNull(source, "The source StateObject cannot be null");
 
         this.source                  = source;
-        this.listChangeListeners     = new HashMap<String, List<IListChangeListener<?>>>();
-        this.propertyChangeListeners = new HashMap<String, List<IPropertyChangeListener<?>>>();
+        this.listChangeListeners     = new HashMap<>();
+        this.propertyChangeListeners = new HashMap<>();
     }
 
     @SuppressWarnings({"unchecked", "rawtypes"})
@@ -344,20 +344,20 @@
                                 int oldIndex,
                                 int newIndex) {
 
-        List<T> original = new ArrayList<T>(items);
+        List<T> original = new ArrayList<>(items);
         items.remove(oldIndex);
         items.add(newIndex, item);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                eventType,
-                listName,
-                Collections.singletonList(item),
-                newIndex,
-                oldIndex
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    eventType,
+                    listName,
+                    Collections.singletonList(item),
+                    newIndex,
+                    oldIndex
             );
 
             fireListChangeEvent(event);
@@ -383,8 +383,8 @@
     }
 
     protected ListIterable<IPropertyChangeListener<?>> propertyChangeListeners(String propertyName) {
-        return new SnapshotCloneListIterable<IPropertyChangeListener<?>>(
-            propertyChangeListeners.get(propertyName)
+        return new SnapshotCloneListIterable<>(
+                propertyChangeListeners.get(propertyName)
         );
     }
 
@@ -402,20 +402,20 @@
                                String listName,
                                T item) {
 
-        List<T> original = new ArrayList<T>(items);
+        List<T> original = new ArrayList<>(items);
         int index = items.indexOf(item);
         items.remove(index);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                EventType.REMOVED,
-                listName,
-                Collections.singletonList(item),
-                index,
-                index
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    EventType.REMOVED,
+                    listName,
+                    Collections.singletonList(item),
+                    index,
+                    index
             );
 
             fireListChangeEvent(event);
@@ -436,19 +436,19 @@
                                 String listName,
                                 Collection<? extends T> items) {
 
-        List<T> original = new ArrayList<T>(list);
+        List<T> original = new ArrayList<>(list);
         list.removeAll(items);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                EventType.REMOVED,
-                listName,
-                new ArrayList<T>(items),
-                -1,
-                -1
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    EventType.REMOVED,
+                    listName,
+                    new ArrayList<T>(items),
+                    -1,
+                    -1
             );
 
             fireListChangeEvent(event);
@@ -533,19 +533,19 @@
                                 int index,
                                 T item) {
 
-        List<T> original = new ArrayList<T>(items);
+        List<T> original = new ArrayList<>(items);
         items.set(index, item);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                EventType.REPLACED,
-                listName,
-                items,
-                index,
-                index
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    EventType.REPLACED,
+                    listName,
+                    items,
+                    index,
+                    index
             );
 
             fireListChangeEvent(event);
@@ -567,20 +567,20 @@
                                 String listName,
                                 List<T> newItems) {
 
-        List<T> original = new ArrayList<T>(items);
+        List<T> original = new ArrayList<>(items);
         items.clear();
         items.addAll(newItems);
 
         if (hasListChangeListeners(listName)) {
 
-            IListChangeEvent<T> event = new ListChangeEvent<T>(
-                source,
-                original,
-                EventType.REPLACED,
-                listName,
-                items,
-                -1,
-                -1
+            IListChangeEvent<T> event = new ListChangeEvent<>(
+                    source,
+                    original,
+                    EventType.REPLACED,
+                    listName,
+                    items,
+                    -1,
+                    -1
             );
 
             fireListChangeEvent(event);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CoalesceExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CoalesceExpressionStateObject.java
index b9cadc1..5c68ef2 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CoalesceExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CoalesceExpressionStateObject.java
@@ -198,7 +198,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        items = new ArrayList<StateObject>();
+        items = new ArrayList<>();
     }
 
     @Override
@@ -209,7 +209,7 @@
 
     @Override
     public ListIterable<StateObject> items() {
-        return new SnapshotCloneListIterable<StateObject>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CollectionMemberDeclarationStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CollectionMemberDeclarationStateObject.java
index 308b2dd..5ef26e1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CollectionMemberDeclarationStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/CollectionMemberDeclarationStateObject.java
@@ -226,7 +226,7 @@
 
     @Override
     public ListIterable<IdentificationVariableStateObject> identificationVariables() {
-        return new SingleElementListIterable<IdentificationVariableStateObject>(identificationVariable);
+        return new SingleElementListIterable<>(identificationVariable);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/FunctionExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/FunctionExpressionStateObject.java
index 3180ecd..9a211ba 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/FunctionExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/FunctionExpressionStateObject.java
@@ -211,7 +211,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        items = new ArrayList<StateObject>();
+        items = new ArrayList<>();
     }
 
     @Override
@@ -228,7 +228,7 @@
 
     @Override
     public ListIterable<StateObject> items() {
-        return new SnapshotCloneListIterable<StateObject>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SelectClauseStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SelectClauseStateObject.java
index 5dc1167..b03be2d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SelectClauseStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SelectClauseStateObject.java
@@ -268,7 +268,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        items = new ArrayList<StateObject>();
+        items = new ArrayList<>();
     }
 
     @Override
@@ -279,7 +279,7 @@
 
     @Override
     public ListIterable<StateObject> items() {
-        return new SnapshotCloneListIterable<StateObject>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/UpdateClauseStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/UpdateClauseStateObject.java
index 606de8d..98a1b32 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/UpdateClauseStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/UpdateClauseStateObject.java
@@ -195,8 +195,7 @@
     }
 
     @Override
-    @SuppressWarnings("unchecked")
-    public UpdateItemStateObject addItem(UpdateItemStateObject item) {
+    public <S extends UpdateItemStateObject> S addItem(S item) {
         getChangeSupport().addItem(this, items, UPDATE_ITEMS_LIST, parent(item));
         return item;
     }
@@ -277,7 +276,7 @@
     @Override
     protected void initialize() {
         super.initialize();
-        items = new ArrayList<UpdateItemStateObject>();
+        items = new ArrayList<>();
     }
 
     @Override
@@ -298,7 +297,7 @@
 
     @Override
     public ListIterable<UpdateItemStateObject> items() {
-        return new SnapshotCloneListIterable<UpdateItemStateObject>(items);
+        return new SnapshotCloneListIterable<>(items);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/AbstractRangeDeclaration.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/AbstractRangeDeclaration.java
index a48b33b..46173a8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/AbstractRangeDeclaration.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/AbstractRangeDeclaration.java
@@ -52,7 +52,7 @@
      */
     protected void addJoin(Join join) {
         if (joins == null) {
-            joins = new LinkedList<Join>();
+            joins = new LinkedList<>();
         }
         joins.add(join);
     }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/DeclarationResolver.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/DeclarationResolver.java
index cf547a5..ab4989c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/DeclarationResolver.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/DeclarationResolver.java
@@ -319,7 +319,7 @@
      * if none were defined
      */
     public Set<String> getResultVariables() {
-        return new HashSet<String>(resultVariables.values());
+        return new HashSet<>(resultVariables.values());
     }
 
     /**
@@ -364,9 +364,9 @@
      */
     protected void initialize(JPQLQueryContext queryContext) {
         this.queryContext    = queryContext;
-        this.resolvers       = new HashMap<String, Resolver>();
-        this.declarations    = new LinkedList<Declaration>();
-        this.resultVariables = new HashMap<IdentificationVariable, String>();
+        this.resolvers       = new HashMap<>();
+        this.declarations    = new LinkedList<>();
+        this.resultVariables = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/FromSubqueryResolver.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/FromSubqueryResolver.java
index c3aa868..9cd9ddc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/FromSubqueryResolver.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/FromSubqueryResolver.java
@@ -171,7 +171,7 @@
         private void initializeMappings() {
 
             if (mappings == null) {
-                mappings = new HashMap<String, IMapping>();
+                mappings = new HashMap<>();
 
                 // Create virtual mappings that wraps the select items
                 VirtualMappingBuilder builder = new VirtualMappingBuilder();
@@ -185,7 +185,7 @@
         @Override
         public Iterable<IMapping> mappings() {
             initializeMappings();
-            return new SnapshotCloneIterable<IMapping>(mappings.values());
+            return new SnapshotCloneIterable<>(mappings.values());
         }
     }
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/NumericResolver.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/NumericResolver.java
index 50b4fac..468ec74 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/NumericResolver.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/NumericResolver.java
@@ -84,7 +84,7 @@
     @Override
     protected IType buildType() {
 
-        List<IType> types = new ArrayList<IType>(resolvers.size());
+        List<IType> types = new ArrayList<>(resolvers.size());
         TypeHelper helper = getTypeHelper();
         IType unresolvableType = helper.unknownType();
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/Resolver.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/Resolver.java
index a875354..0fc40c0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/Resolver.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/Resolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -89,7 +89,7 @@
     public final void addChild(String variableName, Resolver resolver) {
 
         if (resolvers == null) {
-            resolvers = new HashMap<String, Resolver>();
+            resolvers = new HashMap<>();
         }
 
         resolvers.put(variableName, resolver);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/ResolverBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/ResolverBuilder.java
index 2ad2d2b..37c46ed 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/ResolverBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/resolver/ResolverBuilder.java
@@ -1024,7 +1024,7 @@
      */
     protected void visitArithmeticExpression(ArithmeticExpression expression) {
 
-        List<Resolver> resolvers = new ArrayList<Resolver>(2);
+        List<Resolver> resolvers = new ArrayList<>(2);
 
         // Visit the first expression
         expression.getLeftExpression().accept(this);
@@ -1051,7 +1051,7 @@
     protected void visitCollectionEquivalentExpression(Expression expression,
                                                        Expression extraExpression) {
 
-        List<Resolver> resolvers = new ArrayList<Resolver>();
+        List<Resolver> resolvers = new ArrayList<>();
         CollectionExpression collectionExpression = getCollectionExpression(expression);
 
         // Gather the resolver for all children
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/XmlEscapeCharacterConverter.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/XmlEscapeCharacterConverter.java
index 3636c22..f594af4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/XmlEscapeCharacterConverter.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/XmlEscapeCharacterConverter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -72,7 +72,7 @@
 
     private static Map<String, String> buildDictionary() {
 
-        Map<String, String> dictionary = new HashMap<String, String>();
+        Map<String, String> dictionary = new HashMap<>();
 
         // Reserved characters
         dictionary.put("quot",    "\"");     // Quotation Mark
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/filter/AndFilter.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/filter/AndFilter.java
index 4bffa01..656d69b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/filter/AndFilter.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/filter/AndFilter.java
@@ -55,6 +55,7 @@
      * @return A new chain of {@link AndFilter AndFilters} that will "accept" any object when all
      * {@link Filter filters} accepts the object
      */
+    @SafeVarargs
     public static <T> Filter<T> and(Filter<T>... filters) {
 
         int length = filters.length;
@@ -67,10 +68,10 @@
             return filters[0];
         }
 
-        AndFilter<T> filter = new AndFilter<T>(filters[0], filters[1]);
+        AndFilter<T> filter = new AndFilter<>(filters[0], filters[1]);
 
         for (int index = 2; index < length; index++) {
-            filter = new AndFilter<T>(filter, filters[index]);
+            filter = new AndFilter<>(filter, filters[index]);
         }
 
         return filter;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/EmptyIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/EmptyIterable.java
index 0823380..c4aa2d8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/EmptyIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/EmptyIterable.java
@@ -38,7 +38,7 @@
     /**
      * The singleton instance of this <code>EmptyIterable</code>.
      */
-    private static final Iterable<Object> INSTANCE = new EmptyIterable<Object>();
+    private static final Iterable<Object> INSTANCE = new EmptyIterable<>();
 
     /**
      * The serial version UID of this class.
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SingleElementListIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SingleElementListIterable.java
index c4910dd..d2f32bf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SingleElementListIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SingleElementListIterable.java
@@ -53,7 +53,7 @@
 
     @Override
     public ListIterator<E> iterator() {
-        return new SingleElementListIterator<E>(this.element);
+        return new SingleElementListIterator<>(this.element);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SnapshotCloneIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SnapshotCloneIterable.java
index 257195b..b3c6c58 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SnapshotCloneIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterable/SnapshotCloneIterable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -106,7 +106,7 @@
 
     @Override
     public Iterator<E> iterator() {
-        return new LocalCloneIterator<E>(this.remover, this.array);
+        return new LocalCloneIterator<>(this.remover, this.array);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterator/CloneIterator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterator/CloneIterator.java
index de895db..e840b26 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterator/CloneIterator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/utility/iterator/CloneIterator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -95,7 +95,7 @@
      */
     protected CloneIterator(Remover<E> remover, Object... array) {
         super();
-        this.iterator = new ArrayIterator<Object>(array);
+        this.iterator = new ArrayIterator<>(array);
         this.current = null;
         this.remover = remover;
         this.removeAllowed = false;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/CollectionTools.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/CollectionTools.java
index a204235..69fedd4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/CollectionTools.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/CollectionTools.java
@@ -117,7 +117,7 @@
             return (T[]) Array.newInstance(componentType, 0);
         }
 
-        ArrayList<T> list = new ArrayList<T>();
+        ArrayList<T> list = new ArrayList<>();
 
         while (iterator.hasNext()) {
             list.add(iterator.next());
@@ -135,8 +135,9 @@
      * @return An instance of a {@link List} containing the elements of the given array
      * @since 2.5
      */
+    @SafeVarargs
     public static <E> List<E> list(E... array) {
-        List<E> list = new ArrayList<E>(array.length);
+        List<E> list = new ArrayList<>(array.length);
         for (E item : array) {
             list.add(item);
         }
@@ -152,6 +153,6 @@
      * @return A new {@link List}
      */
     public static <T> List<T> list(Iterator<? extends T> iterator) {
-        return addAll(new ArrayList<T>(), iterator);
+        return addAll(new ArrayList<>(), iterator);
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/ArrayIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/ArrayIterable.java
index 1e9a467..43b27e9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/ArrayIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/ArrayIterable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -38,6 +38,8 @@
     /**
      * Construct an iterable for the specified array.
      */
+    @SafeVarargs
+    @SuppressWarnings({"varargs"})
     public ArrayIterable(E... array) {
         this(array, 0, array.length);
     }
@@ -71,7 +73,7 @@
 
     @Override
     public Iterator<E> iterator() {
-        return new ArrayIterator<E>(this.array, this.start, this.length);
+        return new ArrayIterator<>(this.array, this.start, this.length);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/SnapshotCloneListIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/SnapshotCloneListIterable.java
index 9913a3e..299b98b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/SnapshotCloneListIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/SnapshotCloneListIterable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -85,7 +85,7 @@
 
     @Override
     public ListIterator<E> iterator() {
-        return new LocalCloneListIterator<E>(this.mutator, this.array);
+        return new LocalCloneListIterator<>(this.mutator, this.array);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterator/ArrayIterator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterator/ArrayIterator.java
index 255b363..2241b35 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterator/ArrayIterator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterator/ArrayIterator.java
@@ -48,6 +48,8 @@
      *
      * @param array The object containing the items to iterate over
      */
+    @SafeVarargs
+    @SuppressWarnings({"varargs"})
     public <T extends E> ArrayIterator(T... array) {
         this(array, 0, array.length);
     }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractGrammarValidatorTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractGrammarValidatorTest.java
index f173136..a49f5e4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractGrammarValidatorTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractGrammarValidatorTest.java
@@ -46,7 +46,7 @@
 @SuppressWarnings("nls")
 public abstract class AbstractGrammarValidatorTest extends AbstractValidatorTest {
 
-    private JPQLQueryStringFormatter buildFormatter_1() throws Exception {
+    private JPQLQueryStringFormatter buildFormatter_1() {
         return new JPQLQueryStringFormatter() {
             @Override
             public String format(String jpqlQuery) {
@@ -64,7 +64,7 @@
         };
     }
 
-    private JPQLQueryStringFormatter buildFormatter_2() throws Exception {
+    private JPQLQueryStringFormatter buildFormatter_2() {
         return new JPQLQueryStringFormatter() {
             @Override
             public String format(String jpqlQuery) {
@@ -73,7 +73,7 @@
         };
     }
 
-    private JPQLQueryStringFormatter buildFormatter_4() throws Exception {
+    private JPQLQueryStringFormatter buildFormatter_4() {
         return new JPQLQueryStringFormatter() {
             @Override
             public String format(String jpqlQuery) {
@@ -82,7 +82,7 @@
         };
     }
 
-    private JPQLQueryStringFormatter buildFormatter_5() throws Exception {
+    private JPQLQueryStringFormatter buildFormatter_5() {
         return new JPQLQueryStringFormatter() {
             @Override
             public String format(String jpqlQuery) {
@@ -91,7 +91,7 @@
         };
     }
 
-    private JPQLQueryStringFormatter buildFormatter_6() throws Exception {
+    private JPQLQueryStringFormatter buildFormatter_6() {
         return new JPQLQueryStringFormatter() {
             @Override
             public String format(String jpqlQuery) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractValidatorTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractValidatorTest.java
index 031b411..8f40323 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractValidatorTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/AbstractValidatorTest.java
@@ -200,8 +200,8 @@
                                                   int[] startPositions,
                                                   int[] endPositions) {
 
-        List<String> problemsNotFound = new ArrayList<String>();
-        List<String> extraProblems = new ArrayList<String>();
+        List<String> problemsNotFound = new ArrayList<>();
+        List<String> extraProblems = new ArrayList<>();
 
         for (String messageKey : messageKeys) {
             problemsNotFound.add(messageKey);
@@ -269,7 +269,7 @@
                                          int[] startPositions,
                                          int[] endPositions) {
 
-        List<String> problemsNotFound = new ArrayList<String>();
+        List<String> problemsNotFound = new ArrayList<>();
 
         for (String messageKey : messageKeys) {
             problemsNotFound.add(messageKey);
@@ -352,7 +352,7 @@
      * JPQLQueryProblem problems}
      */
     protected List<JPQLQueryProblem> validate(String jpqlQuery, JPQLExpression jpqlExpression) throws Exception {
-        List<JPQLQueryProblem> problems = new ArrayList<JPQLQueryProblem>();
+        List<JPQLQueryProblem> problems = new ArrayList<>();
         validator.setProblems(problems);
         jpqlExpression.accept(validator);
         return problems;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkGrammarValidatorTest2_4.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkGrammarValidatorTest2_4.java
index 2335e4d..2a85b5d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkGrammarValidatorTest2_4.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkGrammarValidatorTest2_4.java
@@ -1365,7 +1365,7 @@
     }
 
     @Test
-    public void test_RegexpExpression_InvalidPatternValue_3() throws Exception {
+    public void test_RegexpExpression_InvalidPatternValue_3() {
 
         // TODO
     }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkSemanticValidatorExtensionTest2_4.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkSemanticValidatorExtensionTest2_4.java
index 62968eb..9c20aba 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkSemanticValidatorExtensionTest2_4.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/EclipseLinkSemanticValidatorExtensionTest2_4.java
@@ -73,7 +73,7 @@
 
     private List<String> columnNames(String tableName) {
 
-        List<String> columnNames = new ArrayList<String>();
+        List<String> columnNames = new ArrayList<>();
 
         if ("EMPLOYEE".equals(tableName)) {
             columnNames.add("ADDRESS");
@@ -105,7 +105,7 @@
 
     private List<String> tableNames() {
 
-        List<String> tableNames = new ArrayList<String>();
+        List<String> tableNames = new ArrayList<>();
         tableNames.add("ADDRESS");
         tableNames.add("EMPLOYEE");
         tableNames.add("EMPLOYEE_SEQ");
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryTestHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryTestHelper.java
index 99904a7..3594703 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryTestHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryTestHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -32,45 +32,39 @@
      *
      * @param ormXmlFileName The name of the orm.xml
      * @return The external form of the ORM configuration.
-     * @throws Exception If an error was encountered during the creation of the ORM configuration
      */
-    IORMConfiguration getORMConfiguration(String ormXmlFileName) throws Exception;
+    IORMConfiguration getORMConfiguration(String ormXmlFileName);
 
     /**
      * Returns the persistence unit that manages some entities.
      *
      * @return The external form of a persistence unit that will be used to retrieve the entities
      * used for testing
-     * @throws Exception If an error was encountered during the creation of the persistence unit
      */
-    IManagedTypeProvider getPersistenceUnit() throws Exception;
+    IManagedTypeProvider getPersistenceUnit();
 
     /**
      * Notifies this helper before a test is invoked.
      *
-     * @throws Exception If an error was encountered during the initialization
      */
-    void setUp() throws Exception;
+    void setUp();
 
     /**
      * Notifies this helper before the tests are invoked, which is before the entire test suite is invoked.
      *
-     * @throws Exception If an error was encountered during the initialization
      */
-    void setUpBefore() throws Exception;
+    void setUpBefore();
 
     /**
      * Notifies this helper after a test was invoked.
      *
-     * @throws Exception If an error was encountered during execution
      */
-    void tearDown() throws Exception;
+    void tearDown();
 
     /**
      * Notifies this helper after the entire suite of tests have been invoked, which is done after
      * the very last test that was invoked.
      *
-     * @throws Exception If an error was encountered during execution
      */
-    void tearDownAfter() throws Exception;
+    void tearDownAfter();
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLTestRunner.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLTestRunner.java
index 685b7d5..68e98d3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLTestRunner.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLTestRunner.java
@@ -102,7 +102,7 @@
      */
     static {
 
-        testRunnerHelpers = new HashMap<Class<? extends Annotation>, DescriptionBuilder>();
+        testRunnerHelpers = new HashMap<>();
 
         testRunnerHelpers.put(IJPQLQueryBuilderTestHelper.class,   buildJPQLQueryBuilderTestHelperDescriptionBuilder());
         testRunnerHelpers.put(IJPQLQueryFormatterTestHelper.class, buildJPQLQueryFormatterTestHelperDescriptionBuilder());
@@ -203,7 +203,7 @@
             return Collections.emptyList();
         }
 
-        List<Runner> runners = new ArrayList<Runner>();
+        List<Runner> runners = new ArrayList<>();
 
         for (Class<?> test : suiteClasses.value()) {
             if (descriptionHelper.helpers.isEmpty()) {
@@ -273,8 +273,8 @@
 
     private List<SuiteHelper> buildSuiteHelpers() {
 
-        List<SuiteHelper> suiteHelpers = new ArrayList<SuiteHelper>();
-        Map<Class<? extends Annotation>, Object> singleHelpers = new HashMap<Class<? extends Annotation>, Object>();
+        List<SuiteHelper> suiteHelpers = new ArrayList<>();
+        Map<Class<? extends Annotation>, Object> singleHelpers = new HashMap<>();
         Collection<Class<? extends Annotation>> multipleHelpers = retrieveMultipleHelpers();
 
         for (Map.Entry<Class<? extends Annotation>, Object[]> helper : descriptionHelper.helpers.entrySet()) {
@@ -289,12 +289,12 @@
                     if (firstHelperKey != secondHelperKey) {
                         for (Object firstHelper : descriptionHelper.helpers.get(firstHelperKey)) {
                             for (Object secondHelper : descriptionHelper.helpers.get(secondHelperKey)) {
-                                Map<Class<? extends Annotation>, Object> copy = new HashMap<Class<? extends Annotation>, Object>();
+                                Map<Class<? extends Annotation>, Object> copy = new HashMap<>();
                                 copy.putAll(singleHelpers);
                                 copy.put(firstHelperKey,  firstHelper);
                                 copy.put(secondHelperKey, secondHelper);
 
-                                List<Class<? extends Annotation>> keys = new ArrayList<Class<? extends Annotation>>();
+                                List<Class<? extends Annotation>> keys = new ArrayList<>();
                                 keys.add(firstHelperKey);
                                 keys.add(secondHelperKey);
 
@@ -308,11 +308,11 @@
         else if (multipleHelpers.size() == 1) {
             for (Class<? extends Annotation> firstHelperKey : multipleHelpers) {
                 for (Object firstHelper : descriptionHelper.helpers.get(firstHelperKey)) {
-                    Map<Class<? extends Annotation>, Object> copy = new HashMap<Class<? extends Annotation>, Object>();
+                    Map<Class<? extends Annotation>, Object> copy = new HashMap<>();
                     copy.putAll(singleHelpers);
                     copy.put(firstHelperKey, firstHelper);
 
-                    List<Class<? extends Annotation>> keys = new ArrayList<Class<? extends Annotation>>();
+                    List<Class<? extends Annotation>> keys = new ArrayList<>();
                     keys.add(firstHelperKey);
 
                     suiteHelpers.add(new SuiteHelper(suiteHelper, copy, keys));
@@ -419,7 +419,7 @@
 
     private Collection<Class<? extends Annotation>> retrieveMultipleHelpers() {
 
-        Collection<Class<? extends Annotation>> keys = new ArrayList<Class<? extends Annotation>>();
+        Collection<Class<? extends Annotation>> keys = new ArrayList<>();
 
         for (Map.Entry<Class<? extends Annotation>, Object[]> helper : descriptionHelper.helpers.entrySet()) {
             if (helper.getValue().length > 1) {
@@ -455,7 +455,7 @@
 
         DescriptionHelper() {
             super();
-            helpers = new HashMap<Class<? extends Annotation>, Object[]>();
+            helpers = new HashMap<>();
         }
     }
 
@@ -517,7 +517,7 @@
         }
 
         @Override
-        protected Object createTest() throws Exception {
+        protected Object createTest() {
             return test;
         }
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaJPQLQueryTestHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaJPQLQueryTestHelper.java
index c0fb40a..39bb12e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaJPQLQueryTestHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaJPQLQueryTestHelper.java
@@ -65,10 +65,10 @@
     protected abstract IMappingBuilder<Member> buildMappingBuilder();
 
     @Override
-    public IORMConfiguration getORMConfiguration(String ormXmlFileName) throws Exception {
+    public IORMConfiguration getORMConfiguration(String ormXmlFileName) {
 
         if (ormConfigurations == null) {
-            ormConfigurations = new HashMap<String, IORMConfiguration>();
+            ormConfigurations = new HashMap<>();
         }
 
         IORMConfiguration ormConfiguration = ormConfigurations.get(ormXmlFileName);
@@ -82,7 +82,7 @@
     }
 
     @Override
-    public IManagedTypeProvider getPersistenceUnit() throws Exception {
+    public IManagedTypeProvider getPersistenceUnit() {
         if (persistenceUnit == null) {
             persistenceUnit = new JavaManagedTypeProvider(buildMappingBuilder());
             initializeManagedTypeProvider();
@@ -111,18 +111,18 @@
     }
 
     @Override
-    public void setUp() throws Exception {
+    public void setUp() {
     }
 
     @Override
-    public void setUpBefore() throws Exception {
+    public void setUpBefore() {
     }
 
     @Override
-    public void tearDown() throws Exception {
+    public void tearDown() {
     }
 
     @Override
-    public void tearDownAfter() throws Exception {
+    public void tearDownAfter() {
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaORMConfiguration.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaORMConfiguration.java
index ff1915a..1eacc7e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaORMConfiguration.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JavaORMConfiguration.java
@@ -157,7 +157,7 @@
 
     protected void populateQueries(Document document) {
 
-        queries = new HashMap<String, IQuery>();
+        queries = new HashMap<>();
         NodeList nodeList = document.getElementsByTagName("named-query");
 
         for (int index = nodeList.getLength(); --index >= 0; ) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ValidateJPQLVersionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ValidateJPQLVersionTest.java
index a8f43e2..b967340 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ValidateJPQLVersionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ValidateJPQLVersionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1035,7 +1035,7 @@
                                               JPQLGrammar validationGrammar) {
 
         JPQLExpression jpqlExpression = JPQLQueryBuilder.buildQuery(jpqlQuery, parserGrammar, false);
-         List<JPQLQueryProblem> problems = new LinkedList<JPQLQueryProblem>();
+         List<JPQLQueryProblem> problems = new LinkedList<>();
 
          EclipseLinkGrammarValidator grammarValidator = new EclipseLinkGrammarValidator(validationGrammar);
          grammarValidator.setProblems(problems);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AbstractSchemaNameTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AbstractSchemaNameTest.java
index ef09d4b..8bd54fd 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AbstractSchemaNameTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AbstractSchemaNameTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -29,7 +29,7 @@
 public final class AbstractSchemaNameTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e";
 
@@ -44,7 +44,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e, Address a";
 
@@ -60,7 +60,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "select o from Order o";
 
@@ -73,7 +73,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "select o from Order o order by o.name";
 
@@ -87,7 +87,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "select o from Order o where o.age > 18";
 
@@ -101,7 +101,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "select g from Group g";
 
@@ -114,7 +114,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "select g from Group g where g.age > 18";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AsOfClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AsOfClauseTest.java
index ed57097..f404b3a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AsOfClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AsOfClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -31,7 +31,7 @@
 public final class AsOfClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         // SELECT e
         // FROM Employee e
@@ -54,7 +54,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         // select e
         // from Employee e
@@ -71,7 +71,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF";
 
@@ -87,7 +87,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF ";
 
@@ -103,7 +103,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF SCN";
 
@@ -119,7 +119,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_09() throws Exception {
+    public void test_JPQLQuery_09() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF SCN ";
 
@@ -136,7 +136,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_10() throws Exception {
+    public void test_JPQLQuery_10() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF TIMESTAMP";
 
@@ -152,7 +152,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_11() throws Exception {
+    public void test_JPQLQuery_11() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF TIMESTAMP ";
 
@@ -169,7 +169,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_12() throws Exception {
+    public void test_JPQLQuery_12() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF WHERE e.name = 'JPQL'";
 
@@ -186,7 +186,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_13() throws Exception {
+    public void test_JPQLQuery_13() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF SCN WHERE e.name = 'JPQL'";
 
@@ -204,7 +204,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_14() throws Exception {
+    public void test_JPQLQuery_14() {
 
         String jpqlQuery = "SELECT e FROM Employee e AS OF TIMESTAMP WHERE e.name = 'JPQL'";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/BadExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/BadExpressionTest.java
index 9f9b0f5..d508bff 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/BadExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/BadExpressionTest.java
@@ -175,7 +175,7 @@
 //                       "   e.name = 'Pascal' ANY(a,)";
     }
 
-    private void testQueries(QueryModifier queryModifier) throws Exception {
+    private void testQueries(QueryModifier queryModifier) {
 
 //        Collection<String> queries = queries();
 //        int queryIndex = 0;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CaseExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CaseExpressionTest.java
index 5fb59db..4b24d46 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CaseExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CaseExpressionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -22,7 +22,7 @@
 public final class CaseExpressionTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String query = "UPDATE Employee e " +
                        "SET e.salary = " +
@@ -51,7 +51,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
         String query = "SELECT e.name, " +
                        "       f.name, " +
                        "       CONCAT(CASE WHEN f.annualMiles > 50000 THEN 'Platinum ' " +
@@ -83,7 +83,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
         String query = "SELECT CASE WHEN f.annualMiles > 50000 THEN 'Platinum ' " +
                        "            WHEN f.annualMiles > 25000 THEN 'Gold ' " +
                        "            ELSE '' " +
@@ -107,7 +107,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
         String query = "SELECT CASE WHEN e.age > 17 THEN 0 " +
                        "            WHEN e.age > 39 THEN 1 " +
                        "            WHEN e.age > 64 THEN 2 " +
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CastExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CastExpressionTest.java
index 3658e44..60e16a1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CastExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/CastExpressionTest.java
@@ -48,7 +48,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         // Select cast(e.firstName as char)
         // from Employee e
@@ -69,7 +69,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         // Select cast(e.firstName as char(3))
         // from Employee e
@@ -90,7 +90,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         // Select cast(e.firstName NUMERIC(5, 4)) from Employee e
 
@@ -103,7 +103,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         // Select cast(e.firstName timestamp) from Employee e
 
@@ -116,7 +116,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         // Select cast(e.firstName YEAR()) from Employee e
 
@@ -133,7 +133,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         // Select cast(e.firstName as TIMESTAMP()) from Employee e
 
@@ -150,7 +150,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "Select cast(e.firstName from Employee e";
 
@@ -169,7 +169,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "Select cast";
 
@@ -185,7 +185,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_09() throws Exception {
+    public void test_JPQLQuery_09() {
 
         String jpqlQuery = "Select cast(";
 
@@ -201,7 +201,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_10() throws Exception {
+    public void test_JPQLQuery_10() {
 
         String jpqlQuery = "Select cast()";
 
@@ -217,7 +217,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_11() throws Exception {
+    public void test_JPQLQuery_11() {
 
         String jpqlQuery = "Select cast(AS";
 
@@ -233,7 +233,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_12() throws Exception {
+    public void test_JPQLQuery_12() {
 
         String jpqlQuery = "Select cast(AS)";
 
@@ -249,7 +249,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_14() throws Exception {
+    public void test_JPQLQuery_14() {
 
         String jpqlQuery = "select cast from Employee e";
 
@@ -266,7 +266,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_15() throws Exception {
+    public void test_JPQLQuery_15() {
 
         String jpqlQuery = "select cast ) from Employee e";
 
@@ -283,7 +283,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_16() throws Exception {
+    public void test_JPQLQuery_16() {
 
         String jpqlQuery = "select cast AS ) from Employee e";
 
@@ -301,7 +301,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_17() throws Exception {
+    public void test_JPQLQuery_17() {
 
         String jpqlQuery = "select cast char) from Employee e";
 
@@ -318,7 +318,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_18() throws Exception {
+    public void test_JPQLQuery_18() {
 
         String jpqlQuery = "select cast as char) from Employee e";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ConnectByClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ConnectByClauseTest.java
index 3f9011e..8332261 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ConnectByClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ConnectByClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -32,7 +32,7 @@
 public final class ConnectByClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         // SELECT e FROM Employee e CONNECT BY e.managers
 
@@ -48,7 +48,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         // SELECT employee
         // FROM Employee employee
@@ -70,7 +70,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH";
 
@@ -83,7 +83,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e CONNECT BY";
 
@@ -96,7 +96,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e CONNECT BY ORDER BY e.name";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/EclipseLinkComparisonExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/EclipseLinkComparisonExpressionTest.java
index 34c43f4..4f42626 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/EclipseLinkComparisonExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/EclipseLinkComparisonExpressionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -32,7 +32,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         if (isEclipseLink2_0()) {
             return;
@@ -53,7 +53,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         if (isEclipseLink2_0()) {
             return;
@@ -71,7 +71,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String query = "SELECT e FROM Employee e WHERE e.age != 'JPQL'";
 
@@ -85,7 +85,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String query = "SELECT e FROM Employee e WHERE e.age != 'JPQL' GROUP BY e.name";
 
@@ -100,7 +100,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         if (isEclipseLink2_0()) {
             return;
@@ -119,7 +119,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         if (isEclipseLink2_0()) {
             return;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ExtractExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ExtractExpressionTest.java
index 3dbc230..5f1c67f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ExtractExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/ExtractExpressionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -27,7 +27,7 @@
 public final class ExtractExpressionTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "Select extract(year from e.hireDate) from Employee e";
 
@@ -40,7 +40,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "Select extract(year e.hireDate) from Employee e";
 
@@ -53,7 +53,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "Select extract from Employee e";
 
@@ -70,7 +70,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "Select extract( from Employee e";
 
@@ -87,7 +87,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "Select extract() from Employee e";
 
@@ -100,7 +100,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "Select extract(from) from Employee e";
 
@@ -113,7 +113,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "Select extract( from Employee e";
 
@@ -130,7 +130,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "Select extract(MICROSECOND from Employee e";
 
@@ -146,7 +146,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_09() throws Exception {
+    public void test_JPQLQuery_09() {
 
         String jpqlQuery = "Select extract(WEEK) from Employee e";
 
@@ -161,7 +161,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_10() throws Exception {
+    public void test_JPQLQuery_10() {
 
         String jpqlQuery = "Select extract(DAY_HOUR from from Employee e";
 
@@ -180,7 +180,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_11() throws Exception {
+    public void test_JPQLQuery_11() {
 
         String jpqlQuery = "Select extract(DAY_MINUTE from) from Employee e";
 
@@ -195,7 +195,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_12() throws Exception {
+    public void test_JPQLQuery_12() {
 
         String jpqlQuery = "Select extract(MONTH (select a.description from Alias a)) " +
                            "from Employee e";
@@ -219,7 +219,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_13() throws Exception {
+    public void test_JPQLQuery_13() {
 
         String jpqlQuery = "Select extract(MONTH e.name + 2 " +
                            "from Employee e";
@@ -240,7 +240,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_14() throws Exception {
+    public void test_JPQLQuery_14() {
 
         String jpqlQuery = "Select extract MONTH e.name + 2) " +
                            "from Employee e";
@@ -262,7 +262,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_15() throws Exception {
+    public void test_JPQLQuery_15() {
 
         String jpqlQuery = "Select extract MONTH e.name + 2) " +
                            "from Employee e";
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HavingClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HavingClauseTest.java
index fbdf063..6e79939 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HavingClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HavingClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -20,6 +20,6 @@
 public final class HavingClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HierarchicalQueryClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HierarchicalQueryClauseTest.java
index 39b403e..722021d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HierarchicalQueryClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/HierarchicalQueryClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -31,7 +31,7 @@
 public final class HierarchicalQueryClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH CONNECT BY";
 
@@ -57,7 +57,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH CONNECT BY ORDER SIBLINGS BY";
 
@@ -88,7 +88,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH CONNECT BY ORDER SIBLINGS BY ";
 
@@ -119,7 +119,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH ORDER SIBLINGS BY";
 
@@ -146,7 +146,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e ORDER SIBLINGS BY";
 
@@ -168,7 +168,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e CONNECT BY ORDER SIBLINGS BY";
 
@@ -196,7 +196,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "SELECT e FROM Employee e CONNECT BY";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/IndexExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/IndexExpressionTest.java
index 1ae14bb..8a8f14a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/IndexExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/IndexExpressionTest.java
@@ -31,7 +31,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX(c) BETWEEN 0 AND 9";
 
@@ -45,7 +45,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX() BETWEEN 0 AND 9";
 
@@ -59,7 +59,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX( BETWEEN 0 AND 9";
 
@@ -77,7 +77,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX BETWEEN 0 AND 9";
 
@@ -95,7 +95,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX) ";
 
@@ -115,7 +115,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX e)";
 
@@ -133,7 +133,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX(e";
 
@@ -151,7 +151,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String query = "SELECT c FROM CreditCard c WHERE INDEX(e ";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTurkishLocaleTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTurkishLocaleTest.java
index 660424f..7b90082 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTurkishLocaleTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLExpressionTurkishLocaleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -42,7 +42,7 @@
                 true
             );
 
-            Collection<JPQLQueryProblem> problems = new LinkedList<JPQLQueryProblem>();
+            Collection<JPQLQueryProblem> problems = new LinkedList<>();
             EclipseLinkGrammarValidator grammarValidator = new EclipseLinkGrammarValidator(grammar);
             grammarValidator.setProblems(problems);
             expression.accept(grammarValidator);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueriesTest2_1.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueriesTest2_1.java
index 94bdf1a..623654e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueriesTest2_1.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueriesTest2_1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -28,7 +28,7 @@
 public final class JPQLQueriesTest2_1 extends JPQLParserTest {
 
     @Test
-    public void test_Query_001() throws Exception {
+    public void test_Query_001() {
 
         // Select e
         // From Employee e Join TREAT(e.projects AS LargeProject) lp
@@ -44,7 +44,7 @@
     }
 
     @Test
-    public void test_Query_002() throws Exception {
+    public void test_Query_002() {
 
         // Select e
         // From Employee e Join TREAT(e.projects LargeProject) lp
@@ -58,7 +58,7 @@
     }
 
     @Test
-    public void test_Query_003() throws Exception {
+    public void test_Query_003() {
 
         // SELECT TREAT(TREAT(p.project LargeProject).parent AS LargeProject).endDate
       // FROM Product p
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBNFAccessor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBNFAccessor.java
index 0d7195d..322792a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBNFAccessor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBNFAccessor.java
@@ -81,7 +81,7 @@
 
     public Iterable<String> arithmetics() {
         ExpressionFactory factory = getExpressionFactory(ArithmeticExpressionFactory.ID);
-        return new ArrayIterable<String>(factory.identifiers());
+        return new ArrayIterable<>(factory.identifiers());
     }
 
     public Iterable<String> arithmeticTermFunctions() {
@@ -110,7 +110,7 @@
 
     public Iterable<String> comparators() {
         ExpressionFactory factory = getExpressionFactory(ComparisonExpressionFactory.ID);
-        return new ArrayIterable<String>(factory.identifiers());
+        return new ArrayIterable<>(factory.identifiers());
     }
 
     public Iterable<String> comparisonExpressionClauses() {
@@ -127,7 +127,7 @@
 
     private Iterable<String> conditionalExpressions(IdentifierRole role) {
 
-        Set<String> identifiers = new HashSet<String>();
+        Set<String> identifiers = new HashSet<>();
         JPQLQueryBNF queryBNF = getQueryBNF(ConditionalExpressionBNF.ID);
 
         for (JPQLQueryBNF child : queryBNF.children()) {
@@ -172,7 +172,7 @@
 
     public Iterable<String> filter(Iterable<String> identifiers, IdentifierRole identifierRole) {
 
-        List<String> items = new ArrayList<String>();
+        List<String> items = new ArrayList<>();
 
         for (String identifier : identifiers) {
             if (getIdentifierRole(identifier) == identifierRole) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/OrderByItemTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/OrderByItemTest.java
index ae1a68e..2f6fda3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/OrderByItemTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/OrderByItemTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -30,7 +30,7 @@
 public final class OrderByItemTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "select e from Employee e order by e.name asc nulls first";
 
@@ -44,7 +44,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "select e from Employee e order by e.name asc nulls last";
 
@@ -58,7 +58,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "select e from Employee e order by e.name nulls first";
 
@@ -72,7 +72,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "select e from Employee e order by e.name nulls last";
 
@@ -86,7 +86,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "select e from Employee e order by e.name nulls last, e.age desc nulls first";
 
@@ -103,7 +103,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "select e from Employee e order by e.name nulls last, e.age nulls";
 
@@ -123,7 +123,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "select e from Employee e order by e.name nulls last, e.age NULLS ";
 
@@ -144,7 +144,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "SELECT i FROM Item i WHERE i.category=:category ORDER BY i.id\"";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/RegexpExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/RegexpExpressionTest.java
index 2ebc0de..9d79ca6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/RegexpExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/RegexpExpressionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -28,7 +28,7 @@
 public final class RegexpExpressionTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         // Select e from Employee e where e.firstName regexp '^B.*'
 
@@ -42,7 +42,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "Select e from Employee e where regexp";
 
@@ -56,7 +56,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "Select e from Employee e where regexp 'value'";
 
@@ -70,7 +70,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "Select e from Employee e where e.firstName regexp";
 
@@ -84,7 +84,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "Select e from Employee e where e.firstName regexp ";
 
@@ -101,7 +101,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "Select e from Employee e where e.firstName regexp order by e.name";
 
@@ -119,7 +119,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "Select e from Employee e where e.firstName regexp 2 + 2";
 
@@ -133,7 +133,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "Select e from Employee e where e.firstName regexp 2 + 2 order by e.name";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/StartWithClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/StartWithClauseTest.java
index 7cc8590..91c0473 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/StartWithClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/StartWithClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -31,7 +31,7 @@
 public final class StartWithClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH";
 
@@ -44,7 +44,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH ";
 
@@ -60,7 +60,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH CONNECT BY e.ids";
 
@@ -83,7 +83,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH HAVING e.id = e.customer.id";
 
@@ -100,7 +100,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH e.id = 100";
 
@@ -113,7 +113,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e START WITH e.id = 100 AND e.name = 'JPQL'";
 
@@ -134,7 +134,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "SELECT e " + "" +
                            "FROM Employee e " +
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TableVariableDeclarationTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TableVariableDeclarationTest.java
index 23b362b..17999f0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TableVariableDeclarationTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TableVariableDeclarationTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -30,7 +30,7 @@
 public final class TableVariableDeclarationTest extends JPQLParserTest {
 
     @Test
-    public final void buildBuildExpression_01() throws Exception {
+    public final void buildBuildExpression_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('DEPT') d WHERE e.dept = d";
 
@@ -47,7 +47,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_02() throws Exception {
+    public final void buildBuildExpression_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('DEPT') AS d WHERE e.dept = d";
 
@@ -64,7 +64,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_03() throws Exception {
+    public final void buildBuildExpression_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('DEPT') AS WHERE e.dept = d";
 
@@ -90,7 +90,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_04() throws Exception {
+    public final void buildBuildExpression_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE() WHERE e.dept = d";
 
@@ -116,7 +116,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_05() throws Exception {
+    public final void buildBuildExpression_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('DEPT' WHERE e.dept = d";
 
@@ -145,7 +145,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_06() throws Exception {
+    public final void buildBuildExpression_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('DEPT' WHERE e.dept = d";
 
@@ -174,7 +174,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_07() throws Exception {
+    public final void buildBuildExpression_07() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE d WHERE e.dept = d";
 
@@ -195,7 +195,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_08() throws Exception {
+    public final void buildBuildExpression_08() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE AS d WHERE e.dept = d";
 
@@ -216,7 +216,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_09() throws Exception {
+    public final void buildBuildExpression_09() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE 'DEPT') AS d WHERE e.dept = d";
 
@@ -237,7 +237,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_10() throws Exception {
+    public final void buildBuildExpression_10() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE WHERE e.dept = d";
 
@@ -267,7 +267,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_11() throws Exception {
+    public final void buildBuildExpression_11() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE, Address a";
 
@@ -288,7 +288,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_12() throws Exception {
+    public final void buildBuildExpression_12() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE";
 
@@ -308,7 +308,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_13() throws Exception {
+    public final void buildBuildExpression_13() {
 
         String jpqlQuery = "SELECT e FROM TABLE('DEPT') d";
 
@@ -321,7 +321,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_14() throws Exception {
+    public final void buildBuildExpression_14() {
 
         String jpqlQuery = "SELECT e FROM TABLE('DEPT') AS d";
 
@@ -334,7 +334,7 @@
     }
 
     @Test
-    public final void buildBuildExpression_15() throws Exception {
+    public final void buildBuildExpression_15() {
 
         String jpqlQuery = "SELECT e FROM TABLE('DEPT') AS d, Employee e";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TreatExpressionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TreatExpressionTest.java
index f733aff..594e35a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TreatExpressionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TreatExpressionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -25,7 +25,7 @@
 public final class TreatExpressionTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         // Select e
         // From Employee e Join TREAT(e.projects AS LargeProject) lp
@@ -41,7 +41,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         // Select e
         // From Employee e Join TREAT(e.projects LargeProject) lp
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/UnionClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/UnionClauseTest.java
index 92c23ee..2cfed10 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/UnionClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/UnionClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -27,7 +27,7 @@
 public final class UnionClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
 
         String jpqlQuery = "select e from Employee e union";
 
@@ -41,7 +41,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_02() throws Exception {
+    public void test_JPQLQuery_02() {
 
         String jpqlQuery = "select e from Employee e union ";
 
@@ -58,7 +58,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_03() throws Exception {
+    public void test_JPQLQuery_03() {
 
         String jpqlQuery = "select e from Employee e union all";
 
@@ -72,7 +72,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_04() throws Exception {
+    public void test_JPQLQuery_04() {
 
         String jpqlQuery = "select e from Employee e union all ";
 
@@ -89,7 +89,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_05() throws Exception {
+    public void test_JPQLQuery_05() {
 
         String jpqlQuery = "select e from Employee e intersect";
 
@@ -103,7 +103,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_06() throws Exception {
+    public void test_JPQLQuery_06() {
 
         String jpqlQuery = "select e from Employee e intersect ";
 
@@ -120,7 +120,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_07() throws Exception {
+    public void test_JPQLQuery_07() {
 
         String jpqlQuery = "select e from Employee e intersect all";
 
@@ -134,7 +134,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_08() throws Exception {
+    public void test_JPQLQuery_08() {
 
         String jpqlQuery = "select e from Employee e intersect all ";
 
@@ -151,7 +151,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_09() throws Exception {
+    public void test_JPQLQuery_09() {
 
         String jpqlQuery = "select e from Employee e except";
 
@@ -165,7 +165,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_10() throws Exception {
+    public void test_JPQLQuery_10() {
 
         String jpqlQuery = "select e from Employee e except ";
 
@@ -182,7 +182,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_11() throws Exception {
+    public void test_JPQLQuery_11() {
 
         String jpqlQuery = "select e from Employee e except all";
 
@@ -196,7 +196,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_12() throws Exception {
+    public void test_JPQLQuery_12() {
 
         String jpqlQuery = "select e from Employee e except all ";
 
@@ -213,7 +213,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_13() throws Exception {
+    public void test_JPQLQuery_13() {
 
         String jpqlQuery = "select e from Employee e except select a from Alias a";
 
@@ -230,7 +230,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_14() throws Exception {
+    public void test_JPQLQuery_14() {
 
         String jpqlQuery = "select e from Employee e " +
                            "except select a from Alias a " +
@@ -265,7 +265,7 @@
     }
 
     @Test
-    public void test_JPQLQuery_15() throws Exception {
+    public void test_JPQLQuery_15() {
 
         String jpqlQuery = "select e from Employee e " +
                            "except select a " +
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/WhereClauseTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/WhereClauseTest.java
index f7ced20..4ff9947 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/WhereClauseTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/WhereClauseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -20,6 +20,6 @@
 public final class WhereClauseTest extends JPQLParserTest {
 
     @Test
-    public void test_JPQLQuery_01() throws Exception {
+    public void test_JPQLQuery_01() {
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistExtensionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistExtensionTest.java
index 2bc0bf5..9016da3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistExtensionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistExtensionTest.java
@@ -40,7 +40,7 @@
 public abstract class AbstractContentAssistExtensionTest extends ContentAssistTest {
 
     @Test
-    public final void test_buildQuery_07() throws Exception {
+    public final void test_buildQuery_07() {
 
         String jpqlQuery = "SELECT e, NEW java.lang.String FROM Employee e";
         int position = "SELECT e, NEW ".length();
@@ -57,7 +57,7 @@
     }
 
     @Test
-    public final void test_buildQuery_08() throws Exception {
+    public final void test_buildQuery_08() {
 
         String jpqlQuery = "SELECT e, NEW java.lang FROM Employee e";
         int position = "SELECT e, NEW ".length();
@@ -74,7 +74,7 @@
     }
 
     @Test
-    public final void test_classNames_01() throws Exception {
+    public final void test_classNames_01() {
 
         String jpqlQuery = "SELECT e, NEW  FROM Employee e";
         int position = "SELECT e, NEW ".length();
@@ -82,7 +82,7 @@
     }
 
     @Test
-    public final void test_classNames_02() throws Exception {
+    public final void test_classNames_02() {
 
         String jpqlQuery = "SELECT e, NEW  FROM Employee e";
         int position = "SELECT e,".length();
@@ -90,7 +90,7 @@
     }
 
     @Test
-    public final void test_classNames_03() throws Exception {
+    public final void test_classNames_03() {
 
         String jpqlQuery = "SELECT e, NEW  FROM Employee e";
         int position = "SELECT e, ".length();
@@ -98,7 +98,7 @@
     }
 
     @Test
-    public final void test_classNames_04() throws Exception {
+    public final void test_classNames_04() {
 
         String jpqlQuery = "SELECT e, NEW java.lang. FROM Employee e";
         int position = "SELECT e, NEW java.lang.".length();
@@ -106,7 +106,7 @@
     }
 
     @Test
-    public final void test_classNames_05() throws Exception {
+    public final void test_classNames_05() {
 
         String jpqlQuery = "SELECT e, NEW java.lang.String FROM Employee e";
         int position = "SELECT e, NEW java.lang.String".length();
@@ -114,7 +114,7 @@
     }
 
     @Test
-    public final void test_classNames_06() throws Exception {
+    public final void test_classNames_06() {
 
         String jpqlQuery = "SELECT e, NEW java.lang.String FROM Employee e";
         int position = "SELECT e, NEW".length();
@@ -122,7 +122,7 @@
     }
 
     @Test
-    public final void test_classNames_07() throws Exception {
+    public final void test_classNames_07() {
 
         String jpqlQuery = "SELECT e, NEW java.lang.String FROM Employee e";
         int position = "SELECT e, NEW ".length();
@@ -130,7 +130,7 @@
     }
 
     @Test
-    public final void test_classNames_08() throws Exception {
+    public final void test_classNames_08() {
 
         String jpqlQuery = "SELECT e, NEW java.lang FROM Employee e";
         int position = "SELECT e, NEW java.lang".length();
@@ -138,7 +138,7 @@
     }
 
     @Test
-    public final void test_classNames_09() throws Exception {
+    public final void test_classNames_09() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.FIRST_NAME";
         int position = "SELECT e FROM Employee e WHERE e.status = jpql.query.".length();
@@ -146,7 +146,7 @@
     }
 
     @Test
-    public final void test_classNames_10() throws Exception {
+    public final void test_classNames_10() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.FIRST_NAME";
         int position = "SELECT e FROM Employee e WHERE e.status = jpql.query.E".length();
@@ -154,7 +154,7 @@
     }
 
     @Test
-    public final void test_enumConstants_01() throws Exception {
+    public final void test_enumConstants_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.";
         int position = jpqlQuery.length();
@@ -162,7 +162,7 @@
     }
 
     @Test
-    public final void test_enumConstants_02() throws Exception {
+    public final void test_enumConstants_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.F";
         int position = jpqlQuery.length();
@@ -170,7 +170,7 @@
     }
 
     @Test
-    public final void test_enumConstants_03() throws Exception {
+    public final void test_enumConstants_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.FIRST_NAME";
         int position = jpqlQuery.length();
@@ -178,7 +178,7 @@
     }
 
     @Test
-    public final void test_enumConstants_04() throws Exception {
+    public final void test_enumConstants_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.FIRST_NAME";
         int position = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.".length();
@@ -186,7 +186,7 @@
     }
 
     @Test
-    public final void test_enumConstants_05() throws Exception {
+    public final void test_enumConstants_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.F";
         int position = "SELECT e FROM Employee e WHERE e.status = jpql.query.EnumType.".length();
@@ -194,12 +194,12 @@
     }
 
     @Test
-    public final void test_enumConstants_06() throws Exception {
+    public final void test_enumConstants_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE e.status WHEN ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsFunctions());
 
@@ -213,19 +213,19 @@
         int position = jpqlQuery.length();
 
         IType type = getPersistenceUnit().getTypeRepository().getType(EnumType.class.getName());
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, type.getEnumConstants());
 
         testHasOnlyTheseProposals(jpqlQuery, position, proposals);
     }
 
     @Test
-    public final void test_enumConstants_08() throws Exception {
+    public final void test_enumConstants_08() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE e.status WHEN jpql.query.EnumType.FIRST_NAME THEN ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -233,12 +233,12 @@
     }
 
     @Test
-    public final void test_enumConstants_09() throws Exception {
+    public final void test_enumConstants_09() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE e.status WHEN jpql.query.EnumType.FIRST_NAME THEN 'JPQL' ELSE ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistTest.java
index 90c1623..30c429d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractContentAssistTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -56,7 +56,7 @@
      */
     protected List<String> clauses(String afterIdentifier, String beforeIdentifier, boolean subquery) {
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
 
         if (afterIdentifier == SELECT) {
 
@@ -247,7 +247,7 @@
         String jpqlQuery = "SELECT AVG(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -260,7 +260,7 @@
         String jpqlQuery = "SELECT AVG() From Employee e";
         int position = "SELECT AVG(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -274,7 +274,7 @@
         String jpqlQuery = "SELECT AVG(DISTINCT ) From Employee e";
         int position = "SELECT AVG(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -329,7 +329,7 @@
         String jpqlQuery = "SELECT AVG(DISTINCT e) From Employee e";
         int position = "SELECT AVG(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -342,7 +342,7 @@
         String jpqlQuery = "SELECT AVG(DISTINCT e) From Employee e";
         int position = "SELECT AVG(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -354,7 +354,7 @@
         String jpqlQuery = "SELECT AVG(DISTINCT e) From Employee emp";
         int position = "SELECT AVG(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -367,7 +367,7 @@
         String jpqlQuery = "SELECT AVG() From Employee emp";
         int position = "SELECT AVG(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -381,7 +381,7 @@
         String jpqlQuery = "SELECT AVG(e) From Employee emp";
         int position = "SELECT AVG(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -408,7 +408,7 @@
         String jpqlQuery = "SELECT AVG(emp) From Employee emp";
         int position = "SELECT AVG(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -428,7 +428,7 @@
         String jpqlQuery = "SELECT AVG( From Employee emp";
         int position = "SELECT AVG(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -442,7 +442,7 @@
         String jpqlQuery = "SELECT AVG(e From Employee emp";
         int position = "SELECT AVG(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -918,7 +918,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, IN(e.name) AS n";
         int position = "SELECT e FROM Employee e, IN(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.collectionMemberDeclarationParameters());
 
@@ -931,7 +931,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, IN(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.collectionMemberDeclarationParameters());
 
@@ -944,7 +944,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, IN(e.name) AS n";
         int position = "SELECT e FROM Employee e, IN(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.collectionMemberDeclarationParameters());
 
@@ -1055,7 +1055,7 @@
         String jpqlQuery = "delete from Address as a where current_date ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.comparators());
         CollectionTools.addAll(proposals, bnfAccessor.arithmetics());
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
@@ -1072,7 +1072,7 @@
         String jpqlQuery = "SELECT e FROM Employee e " + identifier + " e.roomNumber ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsAggregates());
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
 
@@ -1106,7 +1106,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CONCAT(e.name, AS e)";
         int position = "SELECT e FROM Employee e WHERE CONCAT(e.name, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalConcatExpressionFunctions());
 
@@ -1142,7 +1142,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CONCAT(e.name, ()";
         int position = "SELECT e FROM Employee e WHERE CONCAT(e.name, (".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalConcatExpressionFunctions());
         CollectionTools.addAll(proposals, bnfAccessor.internalConcatExpressionClauses());
@@ -1156,7 +1156,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CONCAT(e.name, (S)";
         int position = "SELECT e FROM Employee e WHERE CONCAT(e.name, (S".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalConcatExpressionFunctions(), "S"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalConcatExpressionClauses(), "S"));
 
@@ -1210,7 +1210,7 @@
         String jpqlQuery = "SELECT e FROM Employee e " + prepend + identifier + " (e.name = 'Pascal') ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, clauses(identifier, null, false));
 
         testHasTheseProposals(jpqlQuery, position, proposals);
@@ -1225,7 +1225,7 @@
         String jpqlQuery = "SELECT e FROM Employee e " + prepend + identifier + " e.roomNumber ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, clauses(identifier, null, false));
 
         testDoesNotHaveTheseProposals(jpqlQuery, position, proposals);
@@ -1240,7 +1240,7 @@
         String jpqlQuery = "SELECT e FROM Employee e " + prepend + identifier + " AVG(e.age) ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, clauses(identifier, null, false));
 
         testDoesNotHaveTheseProposals(jpqlQuery, position, proposals);
@@ -1255,7 +1255,7 @@
         String jpqlQuery = "SELECT e FROM Employee e " + prepend + identifier + " ?1 ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, clauses(identifier, null, false));
 
         testDoesNotHaveTheseProposals(jpqlQuery, position, proposals);
@@ -1290,26 +1290,26 @@
     }
 
     @Test
-    public final void test_Constructor_04() throws Exception {
+    public final void test_Constructor_04() {
         String jpqlQuery = "SELECT e, NEW (";
         int position = "SELECT e, ".length();
         testHasTheseProposals(jpqlQuery, position, NEW);
     }
 
     @Test
-    public final void test_Constructor_05() throws Exception {
+    public final void test_Constructor_05() {
         String jpqlQuery = "SELECT e, NEW (";
         int position = "SELECT e, N".length();
         testHasTheseProposals(jpqlQuery, position, NEW);
     }
 
     @Test
-    public final void test_Constructor_06() throws Exception {
+    public final void test_Constructor_06() {
 
         String jpqlQuery = "SELECT NEW String() From Employee e";
         int position = "SELECT NEW String(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.constructorItemFunctions());
 
@@ -1317,12 +1317,12 @@
     }
 
     @Test
-    public final void test_Constructor_07() throws Exception {
+    public final void test_Constructor_07() {
 
         String jpqlQuery = "SELECT NEW String(e) From Employee e";
         int position = "SELECT NEW String(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.constructorItemFunctions(), "e"));
 
@@ -1351,7 +1351,7 @@
     }
 
     @Test
-    public final void test_Constructor_11() throws Exception {
+    public final void test_Constructor_11() {
         String jpqlQuery = "SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c";
         int position = "SELECT new com.titan.domain.Name(c.".length();
         testHasTheseProposals(jpqlQuery, position, "firstName", "hasGoodCredit", "id", "lastName", "address", "home");
@@ -1363,7 +1363,7 @@
         String jpqlQuery = "SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c";
         int position = "SELECT new com.titan.domain.Name(c.firstName, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("c");
         CollectionTools.addAll(proposals, bnfAccessor.constructorItemFunctions());
 
@@ -1376,7 +1376,7 @@
         String jpqlQuery = "SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c";
         int position = "SELECT new com.titan.domain.Name(c.firstName, c".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("c");
         CollectionTools.addAll(proposals, filter(bnfAccessor.constructorItemFunctions(), "c"));
 
@@ -1384,21 +1384,21 @@
     }
 
     @Test
-    public final void test_Constructor_15() throws Exception {
+    public final void test_Constructor_15() {
         String jpqlQuery = "SELECT NE";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, NEW);
     }
 
     @Test
-    public final void test_Constructor_16() throws Exception {
+    public final void test_Constructor_16() {
         String jpqlQuery = "SELECT e, NE";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, NEW);
     }
 
     @Test
-    public final void test_Constructor_17() throws Exception {
+    public final void test_Constructor_17() {
         String jpqlQuery = "SELECT e, NEW";
         int position = jpqlQuery.length();
         testHasTheseProposals(jpqlQuery, position, NEW);
@@ -1480,7 +1480,7 @@
         String jpqlQuery = "SELECT COUNT(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
 
@@ -1493,7 +1493,7 @@
         String jpqlQuery = "SELECT COUNT() From Employee e";
         int position = "SELECT COUNT(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
@@ -1507,7 +1507,7 @@
         String jpqlQuery = "SELECT COUNT(DISTINCT ) From Employee e";
         int position = "SELECT COUNT(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
 
@@ -1562,7 +1562,7 @@
         String jpqlQuery = "SELECT COUNT(DISTINCT e) From Employee e";
         int position = "SELECT COUNT(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
 
@@ -1575,7 +1575,7 @@
         String jpqlQuery = "SELECT COUNT(DISTINCT e) From Employee e";
         int position = "SELECT COUNT(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "e"));
 
@@ -1588,7 +1588,7 @@
         String jpqlQuery = "SELECT COUNT(DISTINCT e) From Employee emp";
         int position = "SELECT COUNT(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "e"));
 
@@ -1600,7 +1600,7 @@
         String jpqlQuery = "SELECT COUNT() From Employee emp";
         int position = "SELECT COUNT(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
@@ -1614,7 +1614,7 @@
         String jpqlQuery = "SELECT COUNT(e) From Employee emp";
         int position = "SELECT COUNT(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "e"));
 
@@ -1627,7 +1627,7 @@
         String jpqlQuery = "SELECT COUNT(em) From Employee emp";
         int position = "SELECT COUNT(em".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "em"));
 
@@ -1640,7 +1640,7 @@
         String jpqlQuery = "SELECT COUNT(emp) From Employee emp";
         int position = "SELECT COUNT(emp".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "emp"));
 
@@ -1653,7 +1653,7 @@
         String jpqlQuery = "SELECT COUNT(emp) From Employee emp";
         int position = "SELECT COUNT(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "e"));
 
@@ -1666,7 +1666,7 @@
         String jpqlQuery = "SELECT COUNT(emp) From Employee emp";
         int position = "SELECT COUNT(em".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "em"));
 
@@ -1679,7 +1679,7 @@
         String jpqlQuery = "SELECT COUNT( From Employee emp";
         int position = "SELECT COUNT(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.countFunctions());
@@ -1693,7 +1693,7 @@
         String jpqlQuery = "SELECT COUNT(e From Employee emp";
         int position = "SELECT COUNT(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.countFunctions(), "e"));
 
@@ -2359,84 +2359,84 @@
     }
 
     @Test
-    public final void test_From_01() throws Exception {
+    public final void test_From_01() {
         String jpqlQuery = "SELECT ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_02() throws Exception {
+    public final void test_From_02() {
         String jpqlQuery = "SELECT F";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_03() throws Exception {
+    public final void test_From_03() {
         String jpqlQuery = "SELECT AVG(e.roomNumber)";
         int position = jpqlQuery.length();
         testHasTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_04() throws Exception {
+    public final void test_From_04() {
         String jpqlQuery = "SELECT AVG(e.roomNumber) ";
         int position = jpqlQuery.length();
         testHasTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_05() throws Exception {
+    public final void test_From_05() {
         String jpqlQuery = "SELECT AVG(e.roomNumber) F";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_06() throws Exception {
+    public final void test_From_06() {
         String jpqlQuery = "SELECT f ";
         int position = jpqlQuery.length();
         testHasTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_07() throws Exception {
+    public final void test_From_07() {
         String jpqlQuery = "SELECT a, ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_08() throws Exception {
+    public final void test_From_08() {
         String jpqlQuery = "SELECT AVG( ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_09() throws Exception {
+    public final void test_From_09() {
         String jpqlQuery = "SELECT AVG(a ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_10() throws Exception {
+    public final void test_From_10() {
         String jpqlQuery = "SELECT AVG(e.roomNumber ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_11() throws Exception {
+    public final void test_From_11() {
         String jpqlQuery = "SELECT F F";
         int position = "SELECT F".length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_12() throws Exception {
+    public final void test_From_12() {
 
         String jpqlQuery = "SELECT e FROM Address a," +
                            "              Employee emp JOIN emp.customers emp_c, " +
@@ -2448,21 +2448,21 @@
     }
 
     @Test
-    public final void test_From_13() throws Exception {
+    public final void test_From_13() {
         String jpqlQuery = "SELECT e F";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_14() throws Exception {
+    public final void test_From_14() {
         String jpqlQuery = "SELECT e F, E";
         int position = "SELECT e F".length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, FROM);
     }
 
     @Test
-    public final void test_From_15() throws Exception {
+    public final void test_From_15() {
 
         String jpqlQuery = "SELECT e FROM Address a," +
                            "              Employee emp JOIN emp.customers emp_c, " +
@@ -2605,7 +2605,7 @@
         String jpqlQuery = "SELECT e FROM Employee e";
         int position = "SELECT e FROM ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2623,7 +2623,7 @@
         String jpqlQuery = "SELECT i FROM Investment i";
         int position = "SELECT i FROM I".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "I"));
         CollectionTools.addAll(proposals, filter(classNames(), "I"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "I"));
@@ -2641,7 +2641,7 @@
         String jpqlQuery = "SELECT t FROM Tax t";
         int position = "SELECT t FROM T".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "T"));
         CollectionTools.addAll(proposals, filter(classNames(), "T"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "T"));
@@ -2659,7 +2659,7 @@
         String jpqlQuery = "SELECT AVG(e.roomNumber) FROM ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2677,7 +2677,7 @@
         String jpqlQuery = "SELECT e FROM ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2695,7 +2695,7 @@
         String jpqlQuery = "SELECT e FROM E";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "E"));
         CollectionTools.addAll(proposals, filter(classNames(), "E"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "E"));
@@ -2713,7 +2713,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2727,7 +2727,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, Address a";
         int position = "SELECT e FROM ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2745,7 +2745,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2759,7 +2759,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, Address a ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2773,7 +2773,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ";
         int position = "SELECT e FROM ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2791,7 +2791,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ";
         int position = "SELECT e FROM E".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "E"));
         CollectionTools.addAll(proposals, filter(classNames(), "E"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "E"));
@@ -2805,7 +2805,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ";
         int position = "SELECT e FROM Employee".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "Employee"));
         CollectionTools.addAll(proposals, filter(classNames(), "Employee"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "Employee"));
@@ -2819,7 +2819,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, Address a ";
         int position = "SELECT e FROM Employee e, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2833,7 +2833,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, Address a ";
         int position = "SELECT e FROM Employee e, A".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "A"));
         CollectionTools.addAll(proposals, filter(classNames(), "A"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "A"));
@@ -2847,7 +2847,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, I";
         int position = "SELECT e FROM Employee e, I".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "I"));
         CollectionTools.addAll(proposals, filter(classNames(), "I"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "I"));
@@ -2861,7 +2861,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, A";
         int position = "SELECT e FROM Employee e, A".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(entityNames(), "A"));
         CollectionTools.addAll(proposals, filter(classNames(), "A"));
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalFromClauseIdentifiers(), "A"));
@@ -2870,7 +2870,7 @@
     }
 
     @Test
-    public final void test_FromClause_18() throws Exception {
+    public final void test_FromClause_18() {
         String jpqlQuery = "SELECT e FROM Employee e";
         int position = "SELECT e FROM Employee ".length();
         testHasOnlyTheseProposals(jpqlQuery, position, AS);
@@ -2882,7 +2882,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, , Address a";
         int position = "SELECT e FROM Employee e,".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2896,7 +2896,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, , Address a";
         int position = "SELECT e FROM Employee e, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2910,7 +2910,7 @@
         String jpqlQuery = "SELECT e FROM Employee e,, Address a";
         int position = "SELECT e FROM Employee e,".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
         CollectionTools.addAll(proposals, bnfAccessor.internalFromClauseIdentifiers());
@@ -2924,7 +2924,7 @@
         String jpqlQuery = "SELECT e FROM Employee e J";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(fromClauseInternalClauses(FROM), "J"));
         CollectionTools.addAll(proposals, filter(clauses(FROM, null, false), "J"));
 
@@ -2937,7 +2937,7 @@
         String jpqlQuery = "SELECT e FROM Employee e E";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(fromClauseInternalClauses(FROM), "e"));
         CollectionTools.addAll(proposals, filter(clauses(FROM, null, false), "e"));
 
@@ -2985,7 +2985,7 @@
                     int position = fragment.length() + positionIndex;
                     String filter = identifier.substring(0, positionIndex);
 
-                    List<String> proposals = new ArrayList<String>();
+                    List<String> proposals = new ArrayList<>();
                     CollectionTools.addAll(proposals, filter(functionProposals(), filter));
                     CollectionTools.addAll(proposals, filter(new String[] { "e" }, filter));
 
@@ -3280,14 +3280,14 @@
     }
 
     @Test
-    public final void test_Is_01() throws Exception {
+    public final void test_Is_01() {
         String jpqlQuery = "select e from Employee e where e.managerEmployee is not ";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, IS_NOT_NULL);
     }
 
     @Test
-    public final void test_Is_02() throws Exception {
+    public final void test_Is_02() {
         String jpqlQuery = "select e from Employee e where e.department is ";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, IS_NULL, IS_NOT_NULL);
@@ -3308,7 +3308,7 @@
     }
 
     @Test
-    public final void test_Is_05() throws Exception {
+    public final void test_Is_05() {
         String jpqlQuery = "select e from Employee e where (SELECT a FROM Address a) is ";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, IS_NULL, IS_NOT_NULL);
@@ -3565,7 +3565,7 @@
         String jpqlQuery = "SELECT e FROM Employee e INNER JOIN e.magazines mags ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, fromClauseInternalClauses(FROM));
         CollectionTools.addAll(proposals, clauses(FROM, null, false));
 
@@ -3893,7 +3893,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.hired = NULL ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.logicalIdentifiers());
         CollectionTools.addAll(proposals, clauses(WHERE, null, false));
 
@@ -4172,7 +4172,7 @@
         String jpqlQuery = "SELECT MAX(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4185,7 +4185,7 @@
         String jpqlQuery = "SELECT MAX() From Employee e";
         int position = "SELECT MAX(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4199,7 +4199,7 @@
         String jpqlQuery = "SELECT MAX(DISTINCT ) From Employee e";
         int position = "SELECT MAX(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4254,7 +4254,7 @@
         String jpqlQuery = "SELECT MAX(DISTINCT e) From Employee e";
         int position = "SELECT MAX(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4267,7 +4267,7 @@
         String jpqlQuery = "SELECT MAX(DISTINCT e) From Employee e";
         int position = "SELECT MAX(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4280,7 +4280,7 @@
         String jpqlQuery = "SELECT MAX(DISTINCT e) From Employee emp";
         int position = "SELECT MAX(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4293,7 +4293,7 @@
         String jpqlQuery = "SELECT MAX() From Employee emp";
         int position = "SELECT MAX(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4307,7 +4307,7 @@
         String jpqlQuery = "SELECT MAX(e) From Employee emp";
         int position = "SELECT MAX(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4334,7 +4334,7 @@
         String jpqlQuery = "SELECT MAX(emp) From Employee emp";
         int position = "SELECT MAX(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4354,7 +4354,7 @@
         String jpqlQuery = "SELECT MAX( From Employee emp";
         int position = "SELECT MAX(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4368,7 +4368,7 @@
         String jpqlQuery = "SELECT MAX(e From Employee emp";
         int position = "SELECT MAX(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4409,7 +4409,7 @@
         String jpqlQuery = "SELECT MIN(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4422,7 +4422,7 @@
         String jpqlQuery = "SELECT MIN() From Employee e";
         int position = "SELECT MIN(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4436,7 +4436,7 @@
         String jpqlQuery = "SELECT MIN(DISTINCT ) From Employee e";
         int position = "SELECT MIN(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4491,7 +4491,7 @@
         String jpqlQuery = "SELECT MIN(DISTINCT e) From Employee e";
         int position = "SELECT MIN(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -4504,7 +4504,7 @@
         String jpqlQuery = "SELECT MIN(DISTINCT e) From Employee e";
         int position = "SELECT MIN(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4517,7 +4517,7 @@
         String jpqlQuery = "SELECT MIN(DISTINCT e) From Employee emp";
         int position = "SELECT MIN(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4530,7 +4530,7 @@
         String jpqlQuery = "SELECT MIN() From Employee emp";
         int position = "SELECT MIN(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4544,7 +4544,7 @@
         String jpqlQuery = "SELECT MIN(e) From Employee emp";
         int position = "SELECT MIN(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4571,7 +4571,7 @@
         String jpqlQuery = "SELECT MIN(emp) From Employee emp";
         int position = "SELECT MIN(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4591,7 +4591,7 @@
         String jpqlQuery = "SELECT MIN( From Employee emp";
         int position = "SELECT MIN(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -4605,7 +4605,7 @@
         String jpqlQuery = "SELECT MIN(e From Employee emp";
         int position = "SELECT MIN(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -4799,7 +4799,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, fromClauseInternalClauses(FROM));
         CollectionTools.addAll(proposals, clauses(FROM, null, false));
 
@@ -4812,7 +4812,7 @@
         String jpqlQuery = "SELECT e FROM Employee e HAVING e.name = 'Oracle'";
         int position = "SELECT e FROM Employee e ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, fromClauseInternalClauses(FROM));
         CollectionTools.addAll(proposals, clauses(FROM, ORDER_BY, false));
 
@@ -4825,7 +4825,7 @@
         String jpqlQuery = "SELECT e FROM Employee e ORDER BY e.name";
         int position = "SELECT e FROM Employee e ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(ORDER_BY);
         CollectionTools.addAll(proposals, fromClauseInternalClauses(FROM));
         CollectionTools.addAll(proposals, clauses(FROM, ORDER_BY, false));
@@ -4839,7 +4839,7 @@
         String jpqlQuery = "SELECT e FROM Employee e GROUP BY e.name";
         int position = "SELECT e FROM Employee e ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, fromClauseInternalClauses(FROM));
         CollectionTools.addAll(proposals, clauses(FROM, HAVING, false));
 
@@ -4852,7 +4852,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name = 'Oracle' ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.logicalIdentifiers());
         CollectionTools.addAll(proposals, clauses(WHERE, null, false));
 
@@ -4865,7 +4865,7 @@
         String jpqlQuery = "SELECT e FROM Employee e A";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(fromClauseInternalClauses(FROM), "A"));
         CollectionTools.addAll(proposals, filter(clauses(FROM, null, false), "A"));
 
@@ -5076,40 +5076,40 @@
     }
 
     @Test
-    public final void test_Query_01() throws Exception {
+    public final void test_Query_01() {
         String jpqlQuery = ExpressionTools.EMPTY_STRING;
         int position = 0;
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT, UPDATE, DELETE_FROM);
     }
 
     @Test
-    public final void test_Query_02() throws Exception {
+    public final void test_Query_02() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name SEL";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, SELECT, UPDATE, DELETE_FROM);
     }
 
     @Test
-    public final void test_Query_03() throws Exception {
+    public final void test_Query_03() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name DEL";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, SELECT, UPDATE, DELETE_FROM);
     }
 
     @Test
-    public final void test_Query_04() throws Exception {
+    public final void test_Query_04() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name UP";
         int position = jpqlQuery.length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, SELECT, UPDATE, DELETE_FROM);
     }
 
     @Test
-    public final void test_Restriction_01() throws Exception {
+    public final void test_Restriction_01() {
 
         String jpqlQuery = "SELECT AVG(e.name) FROM Employee e";
         int position = "SELECT AVG(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -5118,15 +5118,15 @@
     }
 
     @Test
-    public final void test_Restriction_02() throws Exception {
+    public final void test_Restriction_02() {
 
         String jpqlQuery = "SELECT AVG(e.name) FROM Employee e";
         int position = "SELECT AVG(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
-        List<String> selectProposals = new ArrayList<String>();
+        List<String> selectProposals = new ArrayList<>();
         CollectionTools.addAll(selectProposals, filter(bnfAccessor.selectItemIdentifiers(), "e"));
         selectProposals.removeAll(proposals);
 
@@ -5134,7 +5134,7 @@
     }
 
     @Test
-    public final void test_Restriction_03() throws Exception {
+    public final void test_Restriction_03() {
         String jpqlQuery = "SELECT AVG(e.name) FROM Employee e";
         int position = "SELECT AVG(e.".length();
         testDoesNotHaveTheseProposals(jpqlQuery, position, bnfAccessor.selectItemIdentifiers());
@@ -5181,7 +5181,7 @@
         String jpqlQuery = "SELECT AS FROM Address AS a";
         int position = "SELECT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         proposals.add("a");
         CollectionTools.addAll(proposals, bnfAccessor.selectItemFunctions());
@@ -5195,7 +5195,7 @@
         String jpqlQuery = "SELECT AS FROM Address AS a";
         int position = "SELECT A".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("a");
         CollectionTools.addAll(proposals, filter(bnfAccessor.selectItemFunctions(), "A"));
 
@@ -5222,7 +5222,7 @@
         String jpqlQuery = "SELECT a.id FROM Address AS a";
         int position = "SELECT a.id ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         proposals.add(FROM);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
@@ -5236,7 +5236,7 @@
         String jpqlQuery = "SELECT a.zipcode, a.id FROM Address AS a";
         int position = "SELECT a.zipcode, a.id ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         proposals.add(FROM);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
@@ -5251,7 +5251,7 @@
         String jpqlQuery = "SELECT a.zipcode , a.id FROM Address AS a";
         int position = "SELECT a.zipcode ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
 
@@ -5264,7 +5264,7 @@
         String jpqlQuery = "SELECT (SELECT e From Employee e) FROM Address AS a";
         int position = "SELECT (SELECT e From Employee e) ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         proposals.add(FROM);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
@@ -5273,12 +5273,12 @@
     }
 
     @Test
-    public final void test_Select_01() throws Exception {
+    public final void test_Select_01() {
 
         String jpqlQuery = "SELECT ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemFunctions());
 
@@ -5286,24 +5286,24 @@
     }
 
     @Test
-    public final void test_Select_02() throws Exception {
+    public final void test_Select_02() {
 
         String jpqlQuery = "SELECT e";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(bnfAccessor.selectItemFunctions(), "e"));
 
         testHasOnlyTheseProposals(jpqlQuery, position, proposals);
     }
 
     @Test
-    public final void test_Select_03() throws Exception {
+    public final void test_Select_03() {
 
         String jpqlQuery = "SELECT  FROM Employee e";
         int position = "SELECT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.selectItemFunctions());
@@ -5312,33 +5312,33 @@
     }
 
     @Test
-    public final void test_Select_04() throws Exception {
+    public final void test_Select_04() {
         String jpqlQuery = "SELECT AV FROM Employee e";
         int position = "SELECT AV".length();
         testHasOnlyTheseProposals(jpqlQuery, position, AVG);
     }
 
     @Test
-    public final void test_Select_05() throws Exception {
+    public final void test_Select_05() {
         String jpqlQuery = "SELECT e,";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, bnfAccessor.selectItemFunctions());
     }
 
     @Test
-    public final void test_Select_06() throws Exception {
+    public final void test_Select_06() {
         String jpqlQuery = "SELECT e, ";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, bnfAccessor.selectItemFunctions());
     }
 
     @Test
-    public final void test_Select_07() throws Exception {
+    public final void test_Select_07() {
 
         String jpqlQuery = "SELECT AVG(e.age)  FROM Employee e";
         int position = "SELECT AVG(e.age) ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         proposals.add(FROM);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
@@ -5347,7 +5347,7 @@
     }
 
     @Test
-    public final void test_Select_08() throws Exception {
+    public final void test_Select_08() {
 
         String jpqlQuery = SELECT;
 
@@ -5362,7 +5362,7 @@
         String jpqlQuery = "SELECT o,  FROM Address o";
         int position = "SELECT o, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("o");
         CollectionTools.addAll(proposals, bnfAccessor.selectItemFunctions());
 
@@ -5426,7 +5426,7 @@
     }
 
     @Test
-    public final void test_StateFieldPath_08() throws Exception {
+    public final void test_StateFieldPath_08() {
         String jpqlQuery = "SELECT c.employees. FROM CodeAssist c";
         int position = "SELECT c.employees.".length();
         testHasNoProposals(jpqlQuery, position);
@@ -5454,7 +5454,7 @@
     }
 
     @Test
-    public final void test_StateFieldPath_12() throws Exception {
+    public final void test_StateFieldPath_12() {
         String jpqlQuery = "SELECT a.alias FROM CodeAssist c, IN (c.customerMap) cust, IN(KEY(cust).aliases) a";
         int position = "SELECT a.alias".length();
         testHasOnlyTheseProposals(jpqlQuery, position, "alias");
@@ -5468,7 +5468,7 @@
     }
 
     @Test
-    public final void test_StateFieldPath_14() throws Exception {
+    public final void test_StateFieldPath_14() {
         String jpqlQuery = "SELECT a.alias FROM CodeAssist c, IN (c.customerMap) cust, IN(KEY(cust).aliases) a";
         int position = "SELECT a.alias FROM CodeAssist c, IN (c.customerMap) cust, IN(KEY(".length();
         testHasOnlyTheseProposals(jpqlQuery, position, "cust");
@@ -5510,12 +5510,12 @@
     }
 
     @Test
-    public final void test_Subquery_01() throws Exception {
+    public final void test_Subquery_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.comparisonExpressionFunctions());
         CollectionTools.addAll(proposals, bnfAccessor.comparisonExpressionClauses());
@@ -5524,68 +5524,68 @@
     }
 
     @Test
-    public final void test_Subquery_02() throws Exception {
+    public final void test_Subquery_02() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (S".length();
         testHasTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_03() throws Exception {
+    public final void test_Subquery_03() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SE".length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_04() throws Exception {
+    public final void test_Subquery_04() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SEL".length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_05() throws Exception {
+    public final void test_Subquery_05() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELE".length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_06() throws Exception {
+    public final void test_Subquery_06() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELEC".length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_07() throws Exception {
+    public final void test_Subquery_07() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELECT".length();
         testHasTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_08() throws Exception {
+    public final void test_Subquery_08() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT ";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELECT".length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_09() throws Exception {
+    public final void test_Subquery_09() {
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT A";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELECT A".length();
         testHasOnlyTheseProposals(jpqlQuery, position, ABS, AVG);
     }
 
     @Test
-    public final void test_Subquery_10() throws Exception {
+    public final void test_Subquery_10() {
 
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) FROM Employee f)";
         int position = "SELECT e FROM Employee e WHERE e.salary > (SELECT AVG(f.salary) ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, bnfAccessor.selectItemAggregates());
 
@@ -5593,19 +5593,19 @@
     }
 
     @Test
-    public final void test_Subquery_11() throws Exception {
+    public final void test_Subquery_11() {
         String jpqlQuery = "select e from Employee e where (sel";
         int position = jpqlQuery.length();
         testHasOnlyTheseProposals(jpqlQuery, position, SELECT);
     }
 
     @Test
-    public final void test_Subquery_12() throws Exception {
+    public final void test_Subquery_12() {
 
         String jpqlQuery = "select s from Employee s where (s";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("s");
         proposals.add(SELECT);
         CollectionTools.addAll(proposals, filter(bnfAccessor.conditionalExpressionsFunctions(), "s"));
@@ -5614,12 +5614,12 @@
     }
 
     @Test
-    public final void test_Subquery_13() throws Exception {
+    public final void test_Subquery_13() {
 
         String jpqlQuery = "select e from Employee e where (";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(SELECT);
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsFunctions());
@@ -5751,7 +5751,7 @@
         String jpqlQuery = "SELECT SUM(";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -5764,7 +5764,7 @@
         String jpqlQuery = "SELECT SUM() From Employee e";
         int position = "SELECT SUM(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -5778,7 +5778,7 @@
         String jpqlQuery = "SELECT SUM(DISTINCT ) From Employee e";
         int position = "SELECT SUM(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -5833,7 +5833,7 @@
         String jpqlQuery = "SELECT SUM(DISTINCT e) From Employee e";
         int position = "SELECT SUM(DISTINCT ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
 
@@ -5846,7 +5846,7 @@
         String jpqlQuery = "SELECT SUM(DISTINCT e) From Employee e";
         int position = "SELECT SUM(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -5859,7 +5859,7 @@
         String jpqlQuery = "SELECT SUM(DISTINCT e) From Employee emp";
         int position = "SELECT SUM(DISTINCT e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -5872,7 +5872,7 @@
         String jpqlQuery = "SELECT SUM() From Employee emp";
         int position = "SELECT SUM(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -5886,7 +5886,7 @@
         String jpqlQuery = "SELECT SUM(e) From Employee emp";
         int position = "SELECT SUM(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -5913,7 +5913,7 @@
         String jpqlQuery = "SELECT SUM(emp) From Employee emp";
         int position = "SELECT SUM(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -5933,7 +5933,7 @@
         String jpqlQuery = "SELECT SUM( From Employee emp";
         int position = "SELECT SUM(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         proposals.add(DISTINCT);
         CollectionTools.addAll(proposals, bnfAccessor.internalAggregateFunctionFunctions());
@@ -5947,7 +5947,7 @@
         String jpqlQuery = "SELECT SUM(e From Employee emp";
         int position = "SELECT SUM(e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("emp");
         CollectionTools.addAll(proposals, filter(bnfAccessor.internalAggregateFunctionFunctions(), "e"));
 
@@ -6326,7 +6326,7 @@
     }
 
     @Test
-    public final void test_Update_27() throws Exception {
+    public final void test_Update_27() {
         String jpqlQuery = "UPDATE Alias a";
         int position = "UPDATE Al".length();
         testHasOnlyTheseProposals(jpqlQuery, position, "Alias");
@@ -6401,7 +6401,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE WHEN (e.name = 'Pascal') ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(THEN);
         CollectionTools.addAll(proposals, bnfAccessor.logicalIdentifiers());
 
@@ -6418,7 +6418,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE WHEN e.roomNumber ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsAggregates());
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
 
@@ -6437,7 +6437,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE WHEN e.phoneNumbers ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
 
         // Filtered out
@@ -6457,7 +6457,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE WHEN AVG(e.age) ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsAggregates());
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
 
@@ -6474,7 +6474,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE CASE WHEN ?1 ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsAggregates());
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsCompoundFunctions());
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractJPQLQueryHelperTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractJPQLQueryHelperTest.java
index c8172c4..7c11640 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractJPQLQueryHelperTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractJPQLQueryHelperTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -53,7 +53,7 @@
         return jpqlQueryHelper;
     }
 
-    protected IManagedType entity(IManagedTypeProvider provider, String entityName) throws Exception {
+    protected IManagedType entity(IManagedTypeProvider provider, String entityName) {
         IEntity entity = provider.getEntityNamed(entityName);
         assertNotNull("The entity " + entityName + " could not be found", entity);
         return entity;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
index 105b564..4287b15 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
@@ -120,11 +120,11 @@
                                           Iterable<String> proposals) {
 
         // In case the Iterable is read-only
-        List<String> expectedProposals = new ArrayList<String>();
+        List<String> expectedProposals = new ArrayList<>();
         CollectionTools.addAll(expectedProposals, proposals);
 
         ContentAssistProposals contentAssistProposals = buildContentAssistProposals(jpqlQuery, position);
-        List<String> unexpectedProposals = new ArrayList<String>();
+        List<String> unexpectedProposals = new ArrayList<>();
 
         // Entities
         for (IEntity entity : contentAssistProposals.abstractSchemaTypes()) {
@@ -170,14 +170,14 @@
         }
 
         // The remaining proposals were not part of any proposal list
-        List<String> proposalsNotRemoved = new ArrayList<String>();
+        List<String> proposalsNotRemoved = new ArrayList<>();
         CollectionTools.addAll(proposalsNotRemoved, expectedProposals);
 
         return new List[] { proposalsNotRemoved, unexpectedProposals };
     }
 
     protected List<String> classNames() {
-        List<String> classNames = new ArrayList<String>();
+        List<String> classNames = new ArrayList<>();
         classNames.add(Address      .class.getName());
         classNames.add(ArrayList    .class.getName());
         classNames.add(Employee     .class.getName());
@@ -193,7 +193,7 @@
 
     protected List<String> columnNames(String tableName) {
 
-        List<String> columnNames = new ArrayList<String>();
+        List<String> columnNames = new ArrayList<>();
 
         if ("EMPLOYEE".equals(tableName)) {
             columnNames.add("ADDRESS");
@@ -245,7 +245,7 @@
     }
 
     protected final Iterable<String> entityNames() throws Exception {
-        List<String> names = new ArrayList<String>();
+        List<String> names = new ArrayList<>();
         for (IEntity entity : entities()) {
             names.add(entity.getName());
         }
@@ -254,7 +254,7 @@
 
     protected List<String> enumConstants() {
 
-        List<String> names = new ArrayList<String>();
+        List<String> names = new ArrayList<>();
 
         for (Enum<EnumType> enumType : EnumType.values()) {
             names.add(enumType.name());
@@ -264,7 +264,7 @@
     }
 
     protected List<String> enumTypes() {
-        List<String> classNames = new ArrayList<String>();
+        List<String> classNames = new ArrayList<>();
         classNames.add(EnumType  .class.getName());
         classNames.add(AccessType.class.getName());
         return classNames;
@@ -272,7 +272,7 @@
 
     protected final Iterable<String> filter(Iterable<String> proposals, String startsWith) {
 
-        List<String> results = new ArrayList<String>();
+        List<String> results = new ArrayList<>();
 
         for (String proposal : proposals) {
             if (ExpressionTools.startWithIgnoreCase(proposal, startsWith)) {
@@ -344,7 +344,7 @@
     }
 
     protected final List<String> joinIdentifiers() {
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(INNER_JOIN);
         proposals.add(INNER_JOIN_FETCH);
         proposals.add(JOIN);
@@ -357,7 +357,7 @@
     }
 
     protected final List<String> joinOnlyIdentifiers() {
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(INNER_JOIN);
         proposals.add(JOIN);
         proposals.add(LEFT_JOIN);
@@ -374,7 +374,7 @@
     }
 
     protected final Iterable<String> relationshipAndCollectionFieldNames(Class<?> persistentType) throws Exception {
-        Set<String> uniqueNames = new HashSet<String>();
+        Set<String> uniqueNames = new HashSet<>();
         CollectionTools.addAll(uniqueNames, relationshipFieldNames(persistentType));
         CollectionTools.addAll(uniqueNames, collectionValuedFieldNames(persistentType));
         return uniqueNames;
@@ -407,7 +407,7 @@
             return Collections.emptyList();
         }
 
-        List<String> names = new ArrayList<String>();
+        List<String> names = new ArrayList<>();
         IType type = (allowedType != null) ? getPersistenceUnit().getTypeRepository().getType(allowedType) : null;
 
         for (IMapping mapping : managedType.mappings()) {
@@ -455,7 +455,7 @@
 
     protected List<String> tableNames() {
 
-        List<String> tableNames = new ArrayList<String>();
+        List<String> tableNames = new ArrayList<>();
         tableNames.add("ADDRESS");
         tableNames.add("EMPLOYEE");
         tableNames.add("EMPLOYEE_SEQ");
@@ -493,7 +493,7 @@
 
         List<String>[] results = buildResults(jpqlQuery, position, Collections.<String>emptyList());
         List<String> expectedEroposals = results[1];
-        List<String> unexpectedProposals = new ArrayList<String>();
+        List<String> unexpectedProposals = new ArrayList<>();
 
         for (String proposal : proposals) {
             if (expectedEroposals.remove(proposal)) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DeclarationTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DeclarationTest.java
index 3bd65e1..39241e7 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DeclarationTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DeclarationTest.java
@@ -204,7 +204,7 @@
         super.tearDownClass();
     }
 
-    private void test_Declaration_01(boolean tolerant) throws Exception {
+    private void test_Declaration_01(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e";
 
@@ -225,7 +225,7 @@
         test_Declaration_01(true);
     }
 
-    private void test_Declaration_02(boolean tolerant) throws Exception {
+    private void test_Declaration_02(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e, Address a";
 
@@ -247,7 +247,7 @@
         test_Declaration_02(true);
     }
 
-    private void test_Declaration_03(boolean tolerant) throws Exception {
+    private void test_Declaration_03(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e join e.manager m, Address a";
 
@@ -269,7 +269,7 @@
         test_Declaration_03(true);
     }
 
-    private void test_Declaration_04(boolean tolerant) throws Exception {
+    private void test_Declaration_04(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e, in(e.phoneNumbers) p";
 
@@ -292,7 +292,7 @@
     }
 
     @Test
-    public void test_Declaration_05() throws Exception {
+    public void test_Declaration_05() {
 
         String jpqlQuery = "select e from Employee";
 
@@ -303,7 +303,7 @@
         );
     }
 
-    private void test_Declaration_06(boolean tolerant) throws Exception {
+    private void test_Declaration_06(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e where e.address = (select a from Address a)";
 
@@ -311,7 +311,7 @@
         queryContext.setTolerant(tolerant);
         queryContext.setQuery(buildQuery(jpqlQuery));
 
-        final Map<Expression, DeclarationTester[]> testers = new HashMap<Expression, DeclarationTester[]>();
+        final Map<Expression, DeclarationTester[]> testers = new HashMap<>();
         testers.put(queryContext.getJPQLExpression(), new DeclarationTester[] { rangeDeclaration("Employee", "e") });
 
         queryContext.getJPQLExpression().accept(new AbstractTraverseChildrenVisitor() {
@@ -335,7 +335,7 @@
         test_Declaration_06(true);
     }
 
-    private void test_Declaration_07(boolean tolerant) throws Exception {
+    private void test_Declaration_07(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e where e.address = (select d from e.dealers d)";
 
@@ -343,7 +343,7 @@
         queryContext.setTolerant(tolerant);
         queryContext.setQuery(buildQuery(jpqlQuery));
 
-        final Map<Expression, DeclarationTester[]> testers = new HashMap<Expression, DeclarationTester[]>();
+        final Map<Expression, DeclarationTester[]> testers = new HashMap<>();
         testers.put(queryContext.getJPQLExpression(), new DeclarationTester[] { rangeDeclaration("Employee", "e") });
 
         queryContext.getJPQLExpression().accept(new AbstractTraverseChildrenVisitor() {
@@ -367,7 +367,7 @@
         test_Declaration_07(true);
     }
 
-    private void test_Declaration_08(boolean tolerant) throws Exception {
+    private void test_Declaration_08(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e where e.address = (select d from Buyer b, IN e.dealers)";
 
@@ -375,7 +375,7 @@
         queryContext.setTolerant(tolerant);
         queryContext.setQuery(buildQuery(jpqlQuery));
 
-        final Map<Expression, DeclarationTester[]> testers = new HashMap<Expression, DeclarationTester[]>();
+        final Map<Expression, DeclarationTester[]> testers = new HashMap<>();
         testers.put(queryContext.getJPQLExpression(), new DeclarationTester[] { rangeDeclaration("Employee", "e") });
 
         queryContext.getJPQLExpression().accept(new AbstractTraverseChildrenVisitor() {
@@ -402,7 +402,7 @@
         test_Declaration_08(true);
     }
 
-    private void test_Declaration_09(final boolean tolerant) throws Exception {
+    private void test_Declaration_09(final boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e where e.address = (select d from e.dealers)";
 
@@ -410,7 +410,7 @@
         queryContext.setTolerant(tolerant);
         queryContext.setQuery(buildQuery(jpqlQuery));
 
-        final Map<Expression, DeclarationTester[]> testers = new HashMap<Expression, DeclarationTester[]>();
+        final Map<Expression, DeclarationTester[]> testers = new HashMap<>();
         testers.put(queryContext.getJPQLExpression(), new DeclarationTester[] { rangeDeclaration("Employee", "e") });
 
         queryContext.getJPQLExpression().accept(new AbstractTraverseChildrenVisitor() {
@@ -436,7 +436,7 @@
         test_Declaration_09(true);
     }
 
-    private void test_Declaration_10(boolean tolerant) throws Exception {
+    private void test_Declaration_10(boolean tolerant) {
         String jpqlQuery = "select e from";
         testDeclarations(jpqlQuery, tolerant);
     }
@@ -452,7 +452,7 @@
     }
 
     @Test
-    public void test_Declaration_11() throws Exception {
+    public void test_Declaration_11() {
 
         String jpqlQuery = "select e from Employee e, where e.name = 'JPQL'";
 
@@ -464,7 +464,7 @@
     }
 
     @Test
-    public void test_Declaration_12() throws Exception {
+    public void test_Declaration_12() {
 
         String jpqlQuery = "select e from Employee e, a where e.name = 'JPQL'";
 
@@ -476,7 +476,7 @@
         );
     }
 
-    private void test_Declaration_13(boolean tolerant) throws Exception {
+    private void test_Declaration_13(boolean tolerant) {
 
         String jpqlQuery = "update Employee e set e.name = 'JPQL'";
 
@@ -504,7 +504,7 @@
     }
 
     @Test
-    public void test_Declaration_14() throws Exception {
+    public void test_Declaration_14() {
 
         String jpqlQuery = "update set e.name = 'JPQL'";
 
@@ -521,7 +521,7 @@
     }
 
     @Test
-    public void test_Declaration_15() throws Exception {
+    public void test_Declaration_15() {
 
         String jpqlQuery = "delete from where e.name = 'JPQL'";
         DeleteClauseTester deleteClause = delete(nullExpression());
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultSemanticValidatorTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultSemanticValidatorTest2_0.java
index e44c883..3f53bf8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultSemanticValidatorTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultSemanticValidatorTest2_0.java
@@ -658,7 +658,7 @@
     }
 
     @Test
-    public final void test_InExpression_InItem_WrongType_1() throws Exception {
+    public final void test_InExpression_InItem_WrongType_1() {
 //        String jpqlQuery = "SELECT e FROM Employee e WHERE e.name IN(e, ‘JPQL’)
 //        List<QueryProblem> problems = validate(jpqlQuery);
 //
@@ -674,7 +674,7 @@
     }
 
     @Test
-    public final void test_InExpression_InItem_WrongType_2() throws Exception {
+    public final void test_InExpression_InItem_WrongType_2() {
 //        String jpqlQuery = "SELECT e FROM Employee e WHERE e.name IN(e.name, :name, ‘JPQL’)
 //        List<QueryProblem> problems = validate(jpqlQuery);
 //
@@ -685,7 +685,7 @@
     }
 
     @Test
-    public final void test_InExpression_WrongType_1() throws Exception {
+    public final void test_InExpression_WrongType_1() {
 //        String jpqlQuery = "SELECT e FROM Employee e WHERE e.name IN(e.empId)
 //        List<QueryProblem> problems = validate(jpqlQuery);
 //
@@ -701,7 +701,7 @@
     }
 
     @Test
-    public final void test_InExpression_WrongType_2() throws Exception {
+    public final void test_InExpression_WrongType_2() {
 //        String jpqlQuery = "SELECT e FROM Employee e WHERE e.name IN('JPQL', 'Java')
 //        List<QueryProblem> problems = validate(jpqlQuery);
 //
@@ -712,7 +712,7 @@
     }
 
     @Test
-    public final void test_InExpression_WrongType_3() throws Exception {
+    public final void test_InExpression_WrongType_3() {
 //        //SELECT e FROM Employee e WHERE e.name IN(?1, ?2, ?3)
 //        List<QueryProblem> problems = validate(jpqlQuery);
 //
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistExtensionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistExtensionTest.java
index 35a8a00..d5859ed 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistExtensionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistExtensionTest.java
@@ -63,7 +63,7 @@
                                  String proposal,
                                  String expectedJpqlQuery,
                                  int expectedPosition,
-                                 boolean insert) throws Exception {
+                                 boolean insert) {
 
         ContentAssistProposals proposals = buildContentAssistProposals(jpqlQuery, position);
         ResultQuery result = proposals.buildQuery(jpqlQuery, proposal, position, insert);
@@ -306,7 +306,7 @@
     }
 
     @Test
-    public void test_classNames_001() throws Exception {
+    public void test_classNames_001() {
 
         String jpqlQuery = "SELECT e FROM Employee e, ";
         int position = jpqlQuery.length();
@@ -314,7 +314,7 @@
     }
 
     @Test
-    public void test_classNames_002() throws Exception {
+    public void test_classNames_002() {
 
         String jpqlQuery = "SELECT e FROM Employee e, jpql.query.Employee emp";
         int position = "SELECT e FROM Employee e, jpql.query.Employee".length();
@@ -322,7 +322,7 @@
     }
 
     @Test
-    public void test_classNames_003() throws Exception {
+    public void test_classNames_003() {
 
         String jpqlQuery = "SELECT e FROM Employee e, jpql.query.";
         int position = jpqlQuery.length();
@@ -330,7 +330,7 @@
     }
 
     @Test
-    public void test_classNames_004() throws Exception {
+    public void test_classNames_004() {
 
         String jpqlQuery = "SELECT e FROM Employee e, jpql.query.Employee emp";
         int position = "SELECT e FROM Employee e, jpql.query.".length();
@@ -343,7 +343,7 @@
         String jpqlQuery = "SELECT e FROM Employee e, jpql.query.Employee emp";
         int position = "SELECT e FROM Employee e, ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(IN);
         CollectionTools.addAll(proposals, entityNames());
         CollectionTools.addAll(proposals, classNames());
@@ -352,7 +352,7 @@
     }
 
     @Test
-    public void test_columnNames_01() throws Exception {
+    public void test_columnNames_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.";
         int position = jpqlQuery.length();
@@ -360,7 +360,7 @@
     }
 
     @Test
-    public void test_columnNames_02() throws Exception {
+    public void test_columnNames_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.F";
         int position = jpqlQuery.length();
@@ -368,7 +368,7 @@
     }
 
     @Test
-    public void test_columnNames_03() throws Exception {
+    public void test_columnNames_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.FIRST_NAME";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.".length();
@@ -376,7 +376,7 @@
     }
 
     @Test
-    public void test_columnNames_04() throws Exception {
+    public void test_columnNames_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.FIRST_NAME";
         int position = jpqlQuery.length();
@@ -384,7 +384,7 @@
     }
 
     @Test
-    public void test_columnNames_05() throws Exception {
+    public void test_columnNames_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE EMP.A";
         int position = jpqlQuery.length();
@@ -392,7 +392,7 @@
     }
 
     @Test
-    public void test_columnNames_06() throws Exception {
+    public void test_columnNames_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP WHERE e.";
         int position = jpqlQuery.length();
@@ -400,7 +400,7 @@
     }
 
     @Test
-    public void test_columnNames_07() throws Exception {
+    public void test_columnNames_07() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP, TABLE('ADDRESS') a WHERE e.name = EMP.LAST_NAME and a.A = 100";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP, TABLE('ADDRESS') a WHERE e.name = EMP.LAST_NAME and a.".length();
@@ -408,7 +408,7 @@
     }
 
     @Test
-    public void test_columnNames_08() throws Exception {
+    public void test_columnNames_08() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP, TABLE('ADDRESS') a WHERE e.name = EMP.LAST_NAME and a.A = 100";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP, TABLE('ADDRESS') a WHERE e.name = EMP.LAST_NAME and a.A".length();
@@ -416,7 +416,7 @@
     }
 
     @Test
-    public void test_tableNames_01() throws Exception {
+    public void test_tableNames_01() {
 
         String jpqlQuery = "SELECT e FROM Employee e, ";
         int position = jpqlQuery.length();
@@ -424,7 +424,7 @@
     }
 
     @Test
-    public void test_tableNames_02() throws Exception {
+    public void test_tableNames_02() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE(";
         int position = jpqlQuery.length();
@@ -432,7 +432,7 @@
     }
 
     @Test
-    public void test_tableNames_03() throws Exception {
+    public void test_tableNames_03() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('";
         int position = jpqlQuery.length();
@@ -440,7 +440,7 @@
     }
 
     @Test
-    public void test_tableNames_04() throws Exception {
+    public void test_tableNames_04() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('')";
         int position = "SELECT e FROM Employee e, TABLE(".length();
@@ -448,7 +448,7 @@
     }
 
     @Test
-    public void test_tableNames_05() throws Exception {
+    public void test_tableNames_05() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('')";
         int position = "SELECT e FROM Employee e, TABLE('".length();
@@ -456,7 +456,7 @@
     }
 
     @Test
-    public void test_tableNames_06() throws Exception {
+    public void test_tableNames_06() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE')";
         int position = "SELECT e FROM Employee e, TABLE(".length();
@@ -464,7 +464,7 @@
     }
 
     @Test
-    public void test_tableNames_07() throws Exception {
+    public void test_tableNames_07() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE')";
         int position = "SELECT e FROM Employee e, TABLE('".length();
@@ -472,7 +472,7 @@
     }
 
     @Test
-    public void test_tableNames_08() throws Exception {
+    public void test_tableNames_08() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('E')";
         int position = "SELECT e FROM Employee e, TABLE('E".length();
@@ -480,7 +480,7 @@
     }
 
     @Test
-    public void test_tableNames_09() throws Exception {
+    public void test_tableNames_09() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE')";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE".length();
@@ -488,7 +488,7 @@
     }
 
     @Test
-    public void test_tableNames_10() throws Exception {
+    public void test_tableNames_10() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE')";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE'".length();
@@ -496,7 +496,7 @@
     }
 
     @Test
-    public void test_tableNames_11() throws Exception {
+    public void test_tableNames_11() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('E";
         int position = "SELECT e FROM Employee e, TABLE('E".length();
@@ -504,7 +504,7 @@
     }
 
     @Test
-    public void test_tableNames_12() throws Exception {
+    public void test_tableNames_12() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('E";
         int position = "SELECT e FROM Employee e, TABLE('".length();
@@ -512,7 +512,7 @@
     }
 
     @Test
-    public void test_tableNames_13() throws Exception {
+    public void test_tableNames_13() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('E";
         int position = "SELECT e FROM Employee e, TABLE(".length();
@@ -520,7 +520,7 @@
     }
 
     @Test
-    public void test_tableNames_14() throws Exception {
+    public void test_tableNames_14() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE('EMPLOYEE') EMP";
         int position = "SELECT e FROM Employee e, TABLE('EMPLOYEE'".length();
@@ -528,7 +528,7 @@
     }
 
     @Test
-    public void test_tableNames_15() throws Exception {
+    public void test_tableNames_15() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE() EMP";
         int position = "SELECT e FROM Employee e, TABLE(".length();
@@ -536,7 +536,7 @@
     }
 
     @Test
-    public void test_tableNames_16() throws Exception {
+    public void test_tableNames_16() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE(EMPLOYEE) EMP";
         int position = "SELECT e FROM Employee e, TABLE(".length();
@@ -544,7 +544,7 @@
     }
 
     @Test
-    public void test_tableNames_17() throws Exception {
+    public void test_tableNames_17() {
 
         String jpqlQuery = "SELECT e FROM Employee e, TABLE(EMPLOYEE) EMP";
         int position = "SELECT e FROM Employee e, TABLE(EMPLOYEE".length();
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_4.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_4.java
index 6b7926e..4a66140 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_4.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_4.java
@@ -154,7 +154,7 @@
     protected List<String> fromClauseInternalClauses(String afterIdentifier) {
 
         if (EclipseLinkVersionTools.isNewerThan2_4(getGrammar())) {
-            List<String> proposals = new ArrayList<String>();
+            List<String> proposals = new ArrayList<>();
 
             if (afterIdentifier == FROM) {
                 proposals.addAll(super.fromClauseInternalClauses(FROM));
@@ -303,7 +303,7 @@
         String jpqlQuery = "Select cast(e.firstName as char(3)) from Employee e where cast(e.firstName as char(3)) = 'Bob'";
         int position = "Select cast(".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -316,7 +316,7 @@
         String jpqlQuery = "Select cast(e.firstName as char(3)) from Employee e where cast(e.firstName as char(3)) = 'Bob'";
         int position = "Select cast(e.firstName ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionAggregates());
 
@@ -329,7 +329,7 @@
         String jpqlQuery = "Select cast(e.firstName as char(3)) from Employee e where cast(e.firstName as char(3)) = 'Bob'";
         int position = "Select cast(e.firstName a".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionAggregates(), "a"));
 
@@ -342,7 +342,7 @@
         String jpqlQuery = "Select cast(e.firstName as char(3)) from Employee e where cast(e.firstName as char(3)) = 'Bob'";
         int position = "Select cast(e.firstName as".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(AS);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionAggregates(), "as"));
 
@@ -538,7 +538,7 @@
         String jpqlQuery = "Select extract(YEAR from) from Employee e";
         int position = "Select extract(YEAR ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
@@ -552,7 +552,7 @@
         String jpqlQuery = "Select extract(YEAR from) from Employee e";
         int position = "Select extract(YEAR f".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "f"));
 
@@ -565,7 +565,7 @@
         String jpqlQuery = "Select extract(YEAR from) from Employee e";
         int position = "Select extract(YEAR fr".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "fr"));
 
@@ -578,7 +578,7 @@
         String jpqlQuery = "Select extract(YEAR from) from Employee e";
         int position = "Select extract(YEAR fro".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "fro"));
 
@@ -591,7 +591,7 @@
         String jpqlQuery = "Select extract(YEAR from) from Employee e";
         int position = "Select extract(YEAR from".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "from"));
 
@@ -604,7 +604,7 @@
         String jpqlQuery = "Select extract(YEAR from ) from Employee e";
         int position = "Select extract(YEAR from".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "from"));
 
@@ -617,7 +617,7 @@
         String jpqlQuery = "Select extract(YEAR e.hiringDate) from Employee e";
         int position = "Select extract(YEAR ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(FROM);
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
@@ -631,7 +631,7 @@
         String jpqlQuery = "Select extract(YEAR e.hiringDate) from Employee e";
         int position = "Select extract(YEAR e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.scalarExpressionFunctions(), "e"));
 
@@ -676,7 +676,7 @@
         String jpqlQuery = "Select extract(YEAR from ) from Employee e";
         int position = "Select extract(YEAR from ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -1065,7 +1065,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name REGEXP ";
         int position = "SELECT e FROM Employee e WHERE e.name REGEXP ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.patternValueFunctions());
 
@@ -1078,7 +1078,7 @@
         String jpqlQuery = "SELECT e FROM Employee e WHERE e.name REGEXP e";
         int position = "SELECT e FROM Employee e WHERE e.name REGEXP e".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.patternValueFunctions(), "e"));
 
@@ -2010,7 +2010,7 @@
         String jpqlQuery  = "SELECT e FROM Employee e WHERE e.name <> 'JPQL' GROUP BY e.name, e";
         int startPosition = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, filter(bnfAccessor.groupByItemFunctions(), "e"));
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_5.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_5.java
index 46191d6..05ee915 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_5.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkContentAssistTest2_5.java
@@ -154,7 +154,7 @@
     protected List<String> fromClauseInternalClauses(String afterIdentifier) {
 
         if (EclipseLinkVersionTools.isNewerThan2_4(getGrammar())) {
-            List<String> proposals = new ArrayList<String>();
+            List<String> proposals = new ArrayList<>();
 
             if (afterIdentifier == FROM) {
                 proposals.addAll(super.fromClauseInternalClauses(FROM));
@@ -333,7 +333,7 @@
         String jpqlQuery = "select e from Employee e AS OF ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add(SCN);
         proposals.add(TIMESTAMP);
         proposals.add("e");
@@ -348,7 +348,7 @@
         String jpqlQuery = "select e from Employee e AS OF SCN ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -377,7 +377,7 @@
         String jpqlQuery = "select e from Employee e AS OF TIMESTAMP ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -414,7 +414,7 @@
         String jpqlQuery = "select e from Employee e AS OF SCN e.name + WHERE e.name = 'JPQL'";
         int position = "select e from Employee e AS OF SCN e.name + ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.scalarExpressionFunctions());
 
@@ -507,7 +507,7 @@
         String jpqlQuery = "select e from Employee e CONNECT BY ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.collectionValuedPathExpressionFunctions());
 
@@ -600,7 +600,7 @@
         String jpqlQuery = "select e from Employee e CONNECT BY ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.collectionValuedPathExpressionFunctions());
 
@@ -613,7 +613,7 @@
         String jpqlQuery = "select e from Employee e JOIN e.manager k CONNECT BY k";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("k");
         CollectionTools.addAll(proposals, filter(bnfAccessor.collectionValuedPathExpressionFunctions(), "K"));
 
@@ -626,7 +626,7 @@
         String jpqlQuery = "select e from Employee e START WITH ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsFunctions());
 
@@ -639,7 +639,7 @@
         String jpqlQuery = "select e from Employee e START WITH C";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(bnfAccessor.conditionalExpressionsFunctions(), "C"));
 
         testHasOnlyTheseProposals(jpqlQuery, position, proposals);
@@ -651,7 +651,7 @@
         String jpqlQuery = "select e from Employee e START WITH O";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(bnfAccessor.conditionalExpressionsFunctions(), "O"));
 
         testHasOnlyTheseProposals(jpqlQuery, position, proposals);
@@ -663,7 +663,7 @@
         String jpqlQuery = "select e from Employee e CONNECT BY e.name ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, fromClauseInternalClauses(CONNECT_BY));
         CollectionTools.addAll(proposals, clauses(FROM, null, false));
 
@@ -676,7 +676,7 @@
         String jpqlQuery = "select e from Employee e START WITH  CONNECT BY";
         int position = "select e from Employee e START WITH ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsFunctions());
 
@@ -689,7 +689,7 @@
         String jpqlQuery = "select e from Employee e CONNECT BY e.name O";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         CollectionTools.addAll(proposals, filter(fromClauseInternalClauses(CONNECT_BY), "O"));
         CollectionTools.addAll(proposals, filter(clauses(FROM, null, false), "O"));
 
@@ -832,7 +832,7 @@
         String jpqlQuery = "select e from Employee e START WITH ";
         int position = jpqlQuery.length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.conditionalExpressionsFunctions());
 
@@ -925,7 +925,7 @@
         String jpqlQuery = "select e from Employee e start with e.name + WHERE e.name = 'JPQL'";
         int position = "select e from Employee e start with e.name + ".length();
 
-        List<String> proposals = new ArrayList<String>();
+        List<String> proposals = new ArrayList<>();
         proposals.add("e");
         CollectionTools.addAll(proposals, bnfAccessor.arithmeticTermFunctions());
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkDeclarationTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkDeclarationTest.java
index 8e907db..e1a4cf6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkDeclarationTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkDeclarationTest.java
@@ -89,7 +89,7 @@
         return declaration;
     }
 
-    private void test_Declaration_001(boolean tolerant) throws Exception {
+    private void test_Declaration_001(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e, TABLE('EMP') EMP";
 
@@ -112,7 +112,7 @@
     }
 
     @Test
-    public void test_Declaration_002() throws Exception {
+    public void test_Declaration_002() {
 
         String jpqlQuery = "select e from Employee e, TABLE('EMP')";
 
@@ -124,7 +124,7 @@
         );
     }
 
-    private void test_Declaration_003(boolean tolerant) throws Exception {
+    private void test_Declaration_003(boolean tolerant) {
 
         String jpqlQuery = "select e from TABLE('EMP') EMP";
 
@@ -145,7 +145,7 @@
         test_Declaration_003(true);
     }
 
-    private void test_Declaration_004(boolean tolerant) throws Exception {
+    private void test_Declaration_004(boolean tolerant) {
 
         String jpqlQuery = "select e from jpql.query.Employee emp";
 
@@ -167,7 +167,7 @@
     }
 
     @Test
-    public void test_Declaration_005() throws Exception {
+    public void test_Declaration_005() {
 
         String jpqlQuery = "select e from jpql.query.Employee";
 
@@ -178,7 +178,7 @@
         );
     }
 
-    private void test_Declaration_006(boolean tolerant) throws Exception {
+    private void test_Declaration_006(boolean tolerant) {
 
         String jpqlQuery = "select e from (select a from Address a) e";
 
@@ -204,7 +204,7 @@
         test_Declaration_006(true);
     }
 
-    private void test_Declaration_007(boolean tolerant) throws Exception {
+    private void test_Declaration_007(boolean tolerant) {
 
         String jpqlQuery = "select e from (select a from Address a)";
 
@@ -230,7 +230,7 @@
         test_Declaration_007(true);
     }
 
-    private void test_Declaration_008(boolean tolerant) throws Exception {
+    private void test_Declaration_008(boolean tolerant) {
 
         String jpqlQuery = "select e from Employee e, (select a from Address a) a";
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkEclipseLinkContentAssistExtensionTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkEclipseLinkContentAssistExtensionTest.java
index e250e2e..7d6de68 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkEclipseLinkContentAssistExtensionTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/EclipseLinkEclipseLinkContentAssistExtensionTest.java
@@ -148,7 +148,7 @@
     protected List<String> fromClauseInternalClauses(String afterIdentifier) {
 
         if (EclipseLinkVersionTools.isNewerThan2_4(getGrammar())) {
-            List<String> proposals = new ArrayList<String>();
+            List<String> proposals = new ArrayList<>();
 
             if (afterIdentifier == FROM) {
                 proposals.addAll(super.fromClauseInternalClauses(FROM));
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest2_0.java
index 416249d..468ba6a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest2_0.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -48,7 +48,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_205() throws Exception {
+    public static StateObjectTester stateObject_205() {
 
         // UPDATE Employee e
         // SET e.salary =
@@ -73,7 +73,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_206() throws Exception {
+    public static StateObjectTester stateObject_206() {
 
         // SELECT e.name,
         //        CASE TYPE(e) WHEN Exempt THEN 'Exempt'
@@ -102,7 +102,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_207() throws Exception {
+    public static StateObjectTester stateObject_207() {
 
         // SELECT e.name,
         //        f.name,
@@ -132,7 +132,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_208() throws Exception {
+    public static StateObjectTester stateObject_208() {
 
         // SELECT e
         // FROM Employee e
@@ -223,7 +223,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_214() throws Exception {
+    public static StateObjectTester stateObject_214() {
 
         // UPDATE Employee e
         // SET e.salary = CASE e.rating WHEN 1 THEN e.salary * 1.1
@@ -246,7 +246,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_217() throws Exception {
+    public static StateObjectTester stateObject_217() {
 
         // SELECT o.quantity, o.cost*1.08 AS taxedCost, a.zipcode
         // FROM Customer c JOIN c.orders o JOIN c.address a
@@ -276,7 +276,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_218() throws Exception {
+    public static StateObjectTester stateObject_218() {
 
         // SELECT AVG(o.quantity) as q, a.zipcode
         // FROM Customer c JOIN c.orders o JOIN c.address a
@@ -297,7 +297,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_222() throws Exception {
+    public static StateObjectTester stateObject_222() {
 
         // SELECT e.salary / 1000D n
         // From Employee e
@@ -308,7 +308,7 @@
         );
     }
 
-    public static StateObjectTester stateObject_223() throws Exception {
+    public static StateObjectTester stateObject_223() {
 
         // SELECT MOD(a.id, 2) AS m
         // FROM Address a JOIN FETCH a.customerList
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkJPQLStateObjectTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkJPQLStateObjectTest.java
index dc923e1..d3d39da 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkJPQLStateObjectTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkJPQLStateObjectTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -25,7 +25,7 @@
 @SuppressWarnings("nls")
 public abstract class EclipseLinkJPQLStateObjectTest extends AbstractStateObjectTest {
 
-    public static StateObjectTester stateObject_224() throws Exception {
+    public static StateObjectTester stateObject_224() {
 
         // SELECT FUNC('NVL', e.firstName, 'NoFirstName'),
         //        func('NVL', e.lastName,  'NoLastName')
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkStateObjectTest2_5.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkStateObjectTest2_5.java
index 9058bb1..e1a6b60 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkStateObjectTest2_5.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/EclipseLinkStateObjectTest2_5.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,6 +21,6 @@
 public final class EclipseLinkStateObjectTest2_5 extends EclipseLinkJPQLStateObjectTest {
 
     @Test
-    public void test_Query_001() throws Exception {
+    public void test_Query_001() {
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest1_0.java
index 172fa50..d9f40a3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest1_0.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -1174,7 +1174,7 @@
 
         JPQLQueryStateObject jpqlStateObject = buildJPQLQueryStateObject();
 
-        List<StateObject> stateObjects = new ArrayList<StateObject>();
+        List<StateObject> stateObjects = new ArrayList<>();
         stateObjects.add(new StringLiteralStateObject(jpqlStateObject, "'288'"));
         stateObjects.add(new SubstringExpressionStateObject(
             jpqlStateObject,
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEntity.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEntity.java
index 658c55e..4d82374 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEntity.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEntity.java
@@ -85,7 +85,7 @@
 
     protected Map<String, IQuery> buildQueries() {
 
-        Map<String, IQuery> queries = new HashMap<String, IQuery>();
+        Map<String, IQuery> queries = new HashMap<>();
 
         try {
             Class<?> type = getType().getType();
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedType.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedType.java
index 224ec2d..4c2b1ac 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedType.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedType.java
@@ -113,7 +113,7 @@
 
     protected void initializeMappings() {
         if (mappings == null) {
-            mappings = new HashMap<String, IMapping>();
+            mappings = new HashMap<>();
             initializeMappings(type.getType(), getAccessType());
         }
     }
@@ -173,6 +173,6 @@
     @Override
     public final Iterable<IMapping> mappings() {
         initializeMappings();
-        return new SnapshotCloneIterable<IMapping>(mappings.values());
+        return new SnapshotCloneIterable<>(mappings.values());
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedTypeProvider.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedTypeProvider.java
index 50fd659..130e0d9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedTypeProvider.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaManagedTypeProvider.java
@@ -135,7 +135,7 @@
 
     @Override
     public Iterable<IEntity> entities() {
-        return new SnapshotCloneIterable<IEntity>(entities.values());
+        return new SnapshotCloneIterable<>(entities.values());
     }
 
     @Override
@@ -213,16 +213,16 @@
         Assert.isNotNull(mappingBuilder, "The IMappingBuilder cannot be null");
 
         this.mappingBuilder     = mappingBuilder;
-        this.entities           = new HashMap<String, IEntity>();
-        this.embeddables        = new HashMap<String, IEmbeddable>();
-        this.managedTypes       = new HashMap<String, IManagedType>();
-        this.mappedSuperclasses = new HashMap<String, IMappedSuperclass>();
+        this.entities           = new HashMap<>();
+        this.embeddables        = new HashMap<>();
+        this.managedTypes       = new HashMap<>();
+        this.mappedSuperclasses = new HashMap<>();
 
         initialize();
     }
 
     @Override
     public Iterable<IManagedType> managedTypes() {
-        return new SnapshotCloneIterable<IManagedType>(managedTypes.values());
+        return new SnapshotCloneIterable<>(managedTypes.values());
     }
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaType.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaType.java
index e087d78..c74cccb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaType.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaType.java
@@ -101,7 +101,7 @@
         }
 
         Constructor<?>[] javaConstructors = type.getDeclaredConstructors();
-        Collection<IConstructor> constructors = new ArrayList<IConstructor>(javaConstructors.length);
+        Collection<IConstructor> constructors = new ArrayList<>(javaConstructors.length);
 
         for (Constructor<?> javaConstructor : javaConstructors) {
             constructors.add(buildConstructor(javaConstructor));
@@ -131,7 +131,7 @@
         if (constructors == null) {
             constructors = buildConstructors();
         }
-        return new SnapshotCloneIterable<IConstructor>(constructors);
+        return new SnapshotCloneIterable<>(constructors);
     }
 
     @Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeDeclaration.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeDeclaration.java
index a334197..724577a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeDeclaration.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeDeclaration.java
@@ -111,7 +111,7 @@
 
     protected ITypeDeclaration[] buildParameterTypes() {
 
-        List<ITypeDeclaration> parameterTypes = new ArrayList<ITypeDeclaration>();
+        List<ITypeDeclaration> parameterTypes = new ArrayList<>();
 
         // Example: Class<T>
         if (genericType instanceof ParameterizedType) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeRepository.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeRepository.java
index 54738bd..79ed783 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeRepository.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaTypeRepository.java
@@ -60,7 +60,7 @@
     public JavaTypeRepository(ClassLoader classLoader) {
         super();
         this.classLoader = classLoader;
-        this.types       = new HashMap<String, JavaType>();
+        this.types       = new HashMap<>();
     }
 
     /**
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metamodel/ManagedTypeImpl.java b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metamodel/ManagedTypeImpl.java
index 0c9a3b3..952e665 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metamodel/ManagedTypeImpl.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/metamodel/ManagedTypeImpl.java
@@ -687,7 +687,6 @@
      *  @return ListAttribute of the given name
      *  @throws IllegalArgumentException if attribute of the given
      *          name is not present in the managed type
-     * @return
      */
     private ListAttribute<? super X, ?> getList(String name, boolean performNullCheck) {
         /*