fix build-time warnings (#1273)

* constructor related warnings,
few outstanding usages of instance access to static methods,
ignored some missing javadoc warnings,
fixed some javadoc errors

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/bundles/eclipselink/src/main/java/module-info.java b/bundles/eclipselink/src/main/java/module-info.java
index f19f5e4..c5fc3f5 100644
--- a/bundles/eclipselink/src/main/java/module-info.java
+++ b/bundles/eclipselink/src/main/java/module-info.java
@@ -12,17 +12,17 @@
 
 module eclipselink {
 
-    requires java.desktop;
-    requires java.management;
-    requires java.naming;
-    requires java.rmi;
-    requires java.sql;
-    requires java.xml;
+    requires transitive java.desktop;
+    requires transitive java.management;
+    requires transitive java.naming;
+    requires transitive java.rmi;
+    requires transitive java.sql;
+    requires transitive java.xml;
 
     //following cannot be optional because we provide
     //implementation of its spi/extension here
-    requires jakarta.persistence;
-    requires jakarta.xml.bind;
+    requires transitive jakarta.persistence;
+    requires transitive jakarta.xml.bind;
     requires com.sun.tools.xjc;
 
 
@@ -43,6 +43,7 @@
     exports org.eclipse.persistence.jpa.jpql;
     exports org.eclipse.persistence.jpa.jpql.parser;
     exports org.eclipse.persistence.jpa.jpql.utility.iterable;
+    exports org.eclipse.persistence.jpa.jpql.utility.iterator;
 
     exports org.eclipse.persistence;
     exports org.eclipse.persistence.annotations;
@@ -176,6 +177,7 @@
 
     exports org.eclipse.persistence.sdo;
     exports org.eclipse.persistence.sdo.helper;
+    exports org.eclipse.persistence.sdo.helper.delegates;
     exports org.eclipse.persistence.sdo.types;
 
     exports org.eclipse.persistence.dbws;
@@ -196,6 +198,96 @@
     exports org.eclipse.persistence.jpa.rs.util.metadatasources;
     exports org.eclipse.persistence.jpa.rs.util.xmladapters;
 
+    //exported through EclipseLink PUBLIC API
+    exports org.eclipse.persistence.internal.cache;
+    exports org.eclipse.persistence.internal.codegen;
+    exports org.eclipse.persistence.internal.core.databaseaccess;
+    exports org.eclipse.persistence.internal.core.descriptors;
+    exports org.eclipse.persistence.internal.core.helper;
+    exports org.eclipse.persistence.internal.core.queries;
+    exports org.eclipse.persistence.internal.core.sessions;
+    exports org.eclipse.persistence.internal.databaseaccess;
+    exports org.eclipse.persistence.internal.descriptors;
+    exports org.eclipse.persistence.internal.descriptors.changetracking;
+    exports org.eclipse.persistence.internal.dynamic;
+    exports org.eclipse.persistence.internal.expressions;
+    exports org.eclipse.persistence.internal.helper;
+    exports org.eclipse.persistence.internal.identitymaps;
+    exports org.eclipse.persistence.internal.indirection;
+    exports org.eclipse.persistence.internal.jaxb;
+    exports org.eclipse.persistence.internal.jpa;
+    exports org.eclipse.persistence.internal.jpa.deployment;
+    exports org.eclipse.persistence.internal.jpa.metadata.xml;
+    exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
+    exports org.eclipse.persistence.internal.jpa.rs.weaving;
+    exports org.eclipse.persistence.internal.libraries.asm;
+    exports org.eclipse.persistence.internal.localization;
+    exports org.eclipse.persistence.internal.oxm;
+    exports org.eclipse.persistence.internal.oxm.mappings;
+    exports org.eclipse.persistence.internal.oxm.record;
+    exports org.eclipse.persistence.internal.oxm.record.namespaces;
+    exports org.eclipse.persistence.internal.oxm.schema.model;
+    exports org.eclipse.persistence.internal.oxm.unmapped;
+    exports org.eclipse.persistence.internal.platform.database;
+    exports org.eclipse.persistence.internal.platform.database.oracle;
+    exports org.eclipse.persistence.internal.queries;
+    exports org.eclipse.persistence.internal.security;
+    exports org.eclipse.persistence.internal.sequencing;
+    exports org.eclipse.persistence.internal.sessions;
+    exports org.eclipse.persistence.internal.sessions.coordination;
+    exports org.eclipse.persistence.internal.sessions.coordination.corba;
+    exports org.eclipse.persistence.internal.sessions.coordination.jms;
+    exports org.eclipse.persistence.internal.sessions.factories;
+    exports org.eclipse.persistence.internal.sessions.factories.model;
+    exports org.eclipse.persistence.internal.sessions.remote;
+    exports org.eclipse.persistence.internal.xr;
+
+    //exported through EclipseLink INTERNAL API
+    exports org.eclipse.persistence.internal.helper.linkedlist;
+    exports org.eclipse.persistence.internal.helper.type;
+    exports org.eclipse.persistence.internal.jpa.metadata;
+    exports org.eclipse.persistence.internal.jpa.metadata.accessors;
+    exports org.eclipse.persistence.internal.jpa.metadata.accessors.classes;
+    exports org.eclipse.persistence.internal.jpa.metadata.accessors.mappings;
+    exports org.eclipse.persistence.internal.jpa.metadata.accessors.objects;
+    exports org.eclipse.persistence.internal.jpa.metadata.additionalcriteria;
+    exports org.eclipse.persistence.internal.jpa.metadata.cache;
+    exports org.eclipse.persistence.internal.jpa.metadata.changetracking;
+    exports org.eclipse.persistence.internal.jpa.metadata.columns;
+    exports org.eclipse.persistence.internal.jpa.metadata.converters;
+    exports org.eclipse.persistence.internal.jpa.metadata.copypolicy;
+    exports org.eclipse.persistence.internal.jpa.metadata.graphs;
+    exports org.eclipse.persistence.internal.jpa.metadata.inheritance;
+    exports org.eclipse.persistence.internal.jpa.metadata.listeners;
+    exports org.eclipse.persistence.internal.jpa.metadata.locking;
+    exports org.eclipse.persistence.internal.jpa.metadata.mappings;
+    exports org.eclipse.persistence.internal.jpa.metadata.multitenant;
+    exports org.eclipse.persistence.internal.jpa.metadata.nosql;
+    exports org.eclipse.persistence.internal.jpa.metadata.partitioning;
+    exports org.eclipse.persistence.internal.jpa.metadata.queries;
+    exports org.eclipse.persistence.internal.jpa.metadata.sequencing;
+    exports org.eclipse.persistence.internal.jpa.metadata.sop;
+    exports org.eclipse.persistence.internal.jpa.metadata.structures;
+    exports org.eclipse.persistence.internal.jpa.metadata.tables;
+    exports org.eclipse.persistence.internal.jpa.metadata.transformers;
+    exports org.eclipse.persistence.internal.oxm.schema;
+    exports org.eclipse.persistence.internal.sessions.cdi;
+    exports org.eclipse.persistence.internal.sessions.coordination.broadcast;
+    exports org.eclipse.persistence.internal.sessions.factories.model.event;
+    exports org.eclipse.persistence.internal.sessions.factories.model.log;
+    exports org.eclipse.persistence.internal.sessions.factories.model.login;
+    exports org.eclipse.persistence.internal.sessions.factories.model.platform;
+    exports org.eclipse.persistence.internal.sessions.factories.model.pool;
+    exports org.eclipse.persistence.internal.sessions.factories.model.project;
+    exports org.eclipse.persistence.internal.sessions.factories.model.rcm;
+    exports org.eclipse.persistence.internal.sessions.factories.model.rcm.command;
+    exports org.eclipse.persistence.internal.sessions.factories.model.sequencing;
+    exports org.eclipse.persistence.internal.sessions.factories.model.session;
+    exports org.eclipse.persistence.internal.sessions.factories.model.transport;
+    exports org.eclipse.persistence.internal.sessions.factories.model.transport.discovery;
+    exports org.eclipse.persistence.internal.sessions.factories.model.transport.naming;
+    exports org.eclipse.persistence.internal.xr.sxf;
+
     provides jakarta.persistence.spi.PersistenceProvider with org.eclipse.persistence.jpa.PersistenceProvider;
     provides jakarta.xml.bind.JAXBContextFactory with org.eclipse.persistence.jaxb.XMLBindingContextFactory;
     provides com.sun.tools.xjc.Plugin with org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin;
diff --git a/dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java b/dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java
index 71cbf60..dc90b0c 100644
--- a/dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java
+++ b/dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java
@@ -48,10 +48,16 @@
     exports org.eclipse.persistence.jpa.rs.util.metadatasources;
     exports org.eclipse.persistence.jpa.rs.util.xmladapters;
 
-    // dbws builder
-    exports org.eclipse.persistence.internal.dbws;
+    //exported through DBWS PUBLIC API
+    exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
+    exports org.eclipse.persistence.internal.jpa.rs.weaving;
     exports org.eclipse.persistence.internal.xr;
+
+    //exported through DBWS INTERNAL API
     exports org.eclipse.persistence.internal.xr.sxf;
 
+    //INTERNAL ONLY exports
+    exports org.eclipse.persistence.internal.dbws to org.eclipse.persistence.dbws.builder;
+
     uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;
 }
diff --git a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/jpa/rs/QueryParameters.java b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/jpa/rs/QueryParameters.java
index 8014d22..4e66a58 100644
--- a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/jpa/rs/QueryParameters.java
+++ b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/jpa/rs/QueryParameters.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
@@ -14,9 +14,7 @@
 //      gonural - initial
 package org.eclipse.persistence.jpa.rs;
 
-import org.eclipse.persistence.config.QueryHints;
-
-public class QueryParameters extends QueryHints {
+public class QueryParameters {
     // Currently, in JPA-RS, the separation between query parameters and matrix parameters
     // is done such a way that:
     // - the predefined attributes (i.e. eclipselink query hints) are treated as query parameters
diff --git a/foundation/org.eclipse.persistence.corba/src/main/java/module-info.java b/foundation/org.eclipse.persistence.corba/src/main/java/module-info.java
index b52bd71..f6c0940 100644
--- a/foundation/org.eclipse.persistence.corba/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.corba/src/main/java/module-info.java
@@ -10,14 +10,20 @@
  * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
  */
 
+/**
+ * CORBA support for EclipseLink.
+ */
 module org.eclipse.persistence.corba {
 
-    requires java.rmi;
+    requires transitive java.rmi;
 
-    requires org.eclipse.persistence.core;
+    requires transitive org.eclipse.persistence.core;
 
     exports org.eclipse.persistence.sessions.coordination.corba;
     exports org.eclipse.persistence.sessions.coordination.corba.sun;
     exports org.eclipse.persistence.sessions.remote.corba.sun;
     exports org.eclipse.persistence.sessions.remote.rmi.iiop;
+
+    //exported through PUBLIC API
+    exports org.eclipse.persistence.internal.sessions.coordination.corba;
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/module-info.java b/foundation/org.eclipse.persistence.core/src/main/java/module-info.java
index dffe4a0..5f4e421 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/module-info.java
@@ -12,10 +12,10 @@
 
 module org.eclipse.persistence.core {
 
-    requires java.desktop;
-    requires java.management;
-    requires java.naming;
-    requires java.rmi;
+    requires transitive java.desktop;
+    requires transitive java.management; //server platforms
+    requires transitive java.naming;
+    requires transitive java.rmi;
     requires transitive java.sql;
     requires transitive java.xml;
 
@@ -127,7 +127,7 @@
     exports org.eclipse.persistence.transaction.was;
     exports org.eclipse.persistence.transaction.wls;
 
-    exports org.eclipse.persistence.internal.cache;
+    //exported through PUBLIC API
     exports org.eclipse.persistence.internal.codegen;
     exports org.eclipse.persistence.internal.core.databaseaccess;
     exports org.eclipse.persistence.internal.core.descriptors;
@@ -140,52 +140,66 @@
     exports org.eclipse.persistence.internal.dynamic;
     exports org.eclipse.persistence.internal.expressions;
     exports org.eclipse.persistence.internal.helper;
-    exports org.eclipse.persistence.internal.helper.linkedlist;
-    exports org.eclipse.persistence.internal.helper.type;
-    exports org.eclipse.persistence.internal.history;
     exports org.eclipse.persistence.internal.identitymaps;
     exports org.eclipse.persistence.internal.indirection;
-    exports org.eclipse.persistence.internal.jpa.jpql;
-    exports org.eclipse.persistence.internal.localization;
-    exports org.eclipse.persistence.internal.mappings.converters;
     exports org.eclipse.persistence.internal.oxm;
-    exports org.eclipse.persistence.internal.oxm.accessor;
-    exports org.eclipse.persistence.internal.oxm.conversion;
-    exports org.eclipse.persistence.internal.oxm.documentpreservation;
     exports org.eclipse.persistence.internal.oxm.mappings;
-    exports org.eclipse.persistence.internal.oxm.record;
-    exports org.eclipse.persistence.internal.oxm.record.deferred;
-    exports org.eclipse.persistence.internal.oxm.record.json;
     exports org.eclipse.persistence.internal.oxm.record.namespaces;
-    exports org.eclipse.persistence.internal.oxm.schema;
-    exports org.eclipse.persistence.internal.oxm.schema.model;
+    exports org.eclipse.persistence.internal.oxm.record;
     exports org.eclipse.persistence.internal.oxm.unmapped;
-    exports org.eclipse.persistence.internal.platform.database;
     exports org.eclipse.persistence.internal.queries;
     exports org.eclipse.persistence.internal.security;
     exports org.eclipse.persistence.internal.sequencing;
-    exports org.eclipse.persistence.internal.sessions;
-    exports org.eclipse.persistence.internal.sessions.cdi;
     exports org.eclipse.persistence.internal.sessions.coordination;
-    exports org.eclipse.persistence.internal.sessions.coordination.broadcast;
     exports org.eclipse.persistence.internal.sessions.coordination.jms;
-    exports org.eclipse.persistence.internal.sessions.coordination.rmi;
     exports org.eclipse.persistence.internal.sessions.factories;
     exports org.eclipse.persistence.internal.sessions.factories.model;
+    exports org.eclipse.persistence.internal.sessions.remote;
+    exports org.eclipse.persistence.internal.sessions;
+
+    //exported through INTERNAL API
+    exports org.eclipse.persistence.internal.helper.linkedlist;
+    exports org.eclipse.persistence.internal.helper.type;
+    exports org.eclipse.persistence.internal.sessions.cdi;
+    exports org.eclipse.persistence.internal.sessions.coordination.broadcast;
     exports org.eclipse.persistence.internal.sessions.factories.model.event;
     exports org.eclipse.persistence.internal.sessions.factories.model.log;
     exports org.eclipse.persistence.internal.sessions.factories.model.login;
     exports org.eclipse.persistence.internal.sessions.factories.model.platform;
     exports org.eclipse.persistence.internal.sessions.factories.model.pool;
     exports org.eclipse.persistence.internal.sessions.factories.model.project;
-    exports org.eclipse.persistence.internal.sessions.factories.model.property;
-    exports org.eclipse.persistence.internal.sessions.factories.model.rcm;
     exports org.eclipse.persistence.internal.sessions.factories.model.rcm.command;
+    exports org.eclipse.persistence.internal.sessions.factories.model.rcm;
     exports org.eclipse.persistence.internal.sessions.factories.model.sequencing;
     exports org.eclipse.persistence.internal.sessions.factories.model.session;
     exports org.eclipse.persistence.internal.sessions.factories.model.transport;
     exports org.eclipse.persistence.internal.sessions.factories.model.transport.discovery;
     exports org.eclipse.persistence.internal.sessions.factories.model.transport.naming;
-    exports org.eclipse.persistence.internal.sessions.remote;
-    exports org.eclipse.persistence.internal.weaving;
+
+    //INTERNAL ONLY exports
+    exports org.eclipse.persistence.internal.jpa.jpql to org.eclipse.persistence.jpa;
+    exports org.eclipse.persistence.internal.localization to
+            org.eclipse.persistence.dbws,
+            org.eclipse.persistence.jpa,
+            org.eclipse.persistence.jpa.modelgen,
+            org.eclipse.persistence.moxy,
+            org.eclipse.persistence.oracle,
+            org.eclipse.persistence.sdo;
+    exports org.eclipse.persistence.internal.mappings.converters to org.eclipse.persistence.jpa;
+    exports org.eclipse.persistence.internal.weaving to org.eclipse.persistence.jpa;
+    exports org.eclipse.persistence.internal.cache to org.eclipse.persistence.moxy;
+    exports org.eclipse.persistence.internal.oxm.schema to
+            org.eclipse.persistence.dbws,
+            org.eclipse.persistence.dbws.builder,
+            org.eclipse.persistence.moxy,
+            org.eclipse.persistence.sdo;
+    exports org.eclipse.persistence.internal.oxm.schema.model to
+            org.eclipse.persistence.dbws,
+            org.eclipse.persistence.dbws.builder,
+            org.eclipse.persistence.moxy,
+            org.eclipse.persistence.sdo;
+    exports org.eclipse.persistence.internal.oxm.conversion to org.eclipse.persistence.dbws;
+    exports org.eclipse.persistence.internal.sessions.coordination.rmi to org.eclipse.persistence.corba;
+    exports org.eclipse.persistence.internal.platform.database to org.eclipse.persistence.oracle;
+
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/Version.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/Version.java
index c5a6fa7..1f067da 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/Version.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/Version.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -34,7 +34,7 @@
  * @author Eric Gwin
  * @since 1.0,
  */
-public class Version {
+public final class Version {
     // The current version of EclipseLink.
     // This will be used by all product components and included in exceptions.
     private static String product = "Eclipse Persistence Services";
@@ -49,6 +49,9 @@
 
     private static Properties versionProperties;
 
+    private Version() {
+        //no instance please
+    }
 
     /**
      * Returns version {@link String} containing three part version number
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/BasicMap.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/BasicMap.java
index 4bb0689..2474622 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/BasicMap.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/BasicMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 +53,7 @@
  */
 @Target({METHOD, FIELD})
 @Retention(RUNTIME)
+@Deprecated
 public @interface BasicMap {
     /**
      * (Optional) Defines whether the value of the field or property should
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CollectionTable.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CollectionTable.java
index c006d28..d303d84 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CollectionTable.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/CollectionTable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -39,6 +39,7 @@
  */
 @Target({METHOD, FIELD})
 @Retention(RUNTIME)
+@Deprecated
 public @interface CollectionTable {
     /**
      * (Optional) The name of the collection table. If it is not specified, it
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/NamedStoredProcedureQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/NamedStoredProcedureQuery.java
index bdb5835..95c95bc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/NamedStoredProcedureQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/NamedStoredProcedureQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,8 +56,9 @@
     /**
      * (Optional) Refers to the class of the result.
      * @deprecated
-     * @see resultClasses
+     * @see #resultClasses
      */
+    @Deprecated
     Class resultClass() default void.class;
 
     /**
@@ -68,8 +69,9 @@
     /**
      * (Optional) The name of the SQLResultMapping.
      * @deprecated
-     * @see resultSetMappings
+     * @see #resultSetMappings
      */
+    @Deprecated
     String resultSetMapping() default "";
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/StoredProcedureParameter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/StoredProcedureParameter.java
index 01ce272..1cfd89d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/StoredProcedureParameter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/StoredProcedureParameter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -39,8 +39,9 @@
     /**
      * (Optional) The direction of the stored procedure parameter.
      * @deprecated
-     * @see mode()
+     * @see #mode()
      */
+    @Deprecated
     Direction direction() default IN;
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/TransientCompatibleAnnotations.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/TransientCompatibleAnnotations.java
index 1f874fa..53afdf8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/TransientCompatibleAnnotations.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/annotations/TransientCompatibleAnnotations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -49,4 +49,7 @@
         return transientCompatibleAnnotations;
     }
 
+    private TransientCompatibleAnnotations() {
+        // no instance please
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/EntityManagerProperties.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/EntityManagerProperties.java
index 9890d32..ae5941a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/EntityManagerProperties.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/EntityManagerProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -34,7 +34,7 @@
  * for instance class names.
  *
  */
-public class EntityManagerProperties {
+public final class EntityManagerProperties {
 
     /**
      * Set to "true" this property forces persistence context to read through JTA-managed ("write") connection
@@ -347,6 +347,10 @@
         }
     };
 
+    private EntityManagerProperties() {
+        //no instance please
+    }
+
     public static Set<String> getSupportedProperties() {
         return Collections.unmodifiableSet(supportedProperties);
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ParserType.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ParserType.java
index 6ca706f..19f7a5a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ParserType.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ParserType.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,5 +32,9 @@
     public static final String ANTLR = "ANTLR";
 
     public static final String DEFAULT = Hermes;
+
+    private ParserType() {
+        //no instance please
+    }
 }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/PersistenceUnitProperties.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/PersistenceUnitProperties.java
index d2c092a..701b009 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/PersistenceUnitProperties.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/PersistenceUnitProperties.java
@@ -1561,7 +1561,7 @@
 
     /**
      * The "<code>eclipselink.logging.level</code>" property allows the default logging levels to be specified.
-     * <p>
+     *
      * <table>
      * <caption>Logging Levels:</caption>
      * <tr><td>{@link SessionLog#ALL_LABEL}</td><td>&nbsp;</td><td>ALL</td></tr>
@@ -1589,7 +1589,7 @@
     /**
      * Property prefix "<code>eclipselink.logging.level.</code>" allows the category specific logging levels
      * to be specified.
-     * <p>
+     *
      * <table>
      * <caption>Logger categories:</caption>
      * <tr><td>{@link SessionLog#CACHE}</td><td>&nbsp;</td><td>cache</td></tr>
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
index 072ee54..6608228 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/QueryHints.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 1998, 2019 IBM Corporation. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 IBM Corporation. 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
@@ -919,4 +919,8 @@
      * @see org.eclipse.persistence.queries.ResultSetMappingQuery#shouldReturnNameValuePairs()
      */
     public static final String RETURN_NAME_VALUE_PAIRS = "eclipselink.query-return-name-value-pairs";
+
+    private QueryHints() {
+        // no instance please
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/RemoteProtocol.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/RemoteProtocol.java
index 9f54c75..93bf2cb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/RemoteProtocol.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/RemoteProtocol.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,6 +24,10 @@
  *
  * @see PersistenceUnitProperties#REMOTE_PROTOCOL
  */
-public class RemoteProtocol {
+public final class RemoteProtocol {
     public static final String RMI = "rmi";
+
+    private RemoteProtocol() {
+        //no instance please
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultSetType.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultSetType.java
index 31a6561..f641ed4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultSetType.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/ResultSetType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -57,4 +57,8 @@
      * The default type is ScrollInsensitive.
      */
     public static final String DEFAULT = ScrollInsensitive;
+
+    private ResultSetType() {
+        //no instance please
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/StructConverterType.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/StructConverterType.java
index d27796b..d40ef6c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/StructConverterType.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/config/StructConverterType.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,4 +27,7 @@
 public class StructConverterType {
 
     public static final String JGeometry = "JGEOMETRY";
+
+    private StructConverterType() {
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptor.java
index 532214d..38f8ee2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -47,6 +47,11 @@
 
     protected Map<String, ATTRIBUTE_GROUP> attributeGroups;
 
+    /**
+     * Default constructor.
+     */
+    protected CoreDescriptor() {
+    }
 
     /**
      * Adds the attribute group to this descriptor.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptorEventManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptorEventManager.java
index 678f219..ed7c5e3 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptorEventManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreDescriptorEventManager.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
@@ -22,6 +22,12 @@
 public abstract class CoreDescriptorEventManager<
     DESCRIPTOR_EVENT extends CoreDescriptorEvent> {
 
+    /**
+     * Default constructor.
+     */
+    protected CoreDescriptorEventManager() {
+    }
+
     public abstract void executeEvent(DESCRIPTOR_EVENT event);
 
     public abstract boolean hasAnyEventListeners();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.java
index afa14fb..eb2fa04 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/descriptors/CoreInheritancePolicy.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
@@ -33,6 +33,12 @@
     FIELD extends CoreField> {
 
     /**
+     * Default constructor.
+     */
+    protected CoreInheritancePolicy() {
+    }
+
+    /**
      * INTERNAL:
      * Add abstract class indicator information to the database row.  This is
      * required when building a row for an insert or an update of a concrete child
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/mappings/CoreMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/mappings/CoreMapping.java
index d28a43e..273b138 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/mappings/CoreMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/mappings/CoreMapping.java
@@ -33,6 +33,12 @@
     FIELD extends CoreField> {
 
     /**
+     * Default constructor.
+     */
+    protected CoreMapping() {
+    }
+
+    /**
      * ADVANCED: Return the attributeAccessor. The attribute accessor is
      * responsible for setting and retrieving the attribute value from the
      * object for this mapping.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/queries/CoreAttributeGroup.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/queries/CoreAttributeGroup.java
index d6434b6..43ee796 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/queries/CoreAttributeGroup.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/queries/CoreAttributeGroup.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 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
@@ -151,7 +151,7 @@
     /**
      * Add an attribute and the corresponding list of AttributeGroups.
      * Multiple groups are added in the case of inheritance
-     * <p>
+     *
      * @param attributeNameOrPath
      *            A simple attribute, array or attributes forming a path
      * @param groups - a collection of AttributeGroups to be added.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreProject.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreProject.java
index 9ed6e73..f908ccc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreProject.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreProject.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,6 +28,12 @@
    SESSION extends CoreSession
    > implements Serializable {
 
+    /**
+     * Default constructor.
+     */
+    protected CoreProject() {
+    }
+
     public abstract void addDescriptor(DESCRIPTOR descriptor);
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreSessionEventManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreSessionEventManager.java
index e8ab6b6..6f75a00 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreSessionEventManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/core/sessions/CoreSessionEventManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -23,6 +23,12 @@
     SESSION_EVENT_LISTENER extends CoreSessionEventListener> {
 
     /**
+     * Default constructor.
+     */
+    protected CoreSessionEventManager() {
+    }
+
+    /**
      * PUBLIC:
      * Add the event listener to the session.
      * The listener will receive all events raised by this session.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
index 0ee6a9d..186db18 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 1998, 2020 IBM Corporation. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 IBM Corporation. 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
@@ -4181,7 +4181,7 @@
                 if (!isAbstract()) {
                     try {
                         if (this.instantiationPolicy == null) {
-                            setInstantiationPolicy(new PersistenceObjectInstantiationPolicy((PersistenceObject)getJavaClass().newInstance()));
+                            setInstantiationPolicy(new PersistenceObjectInstantiationPolicy((PersistenceObject)getJavaClass().getConstructor().newInstance()));
                         }
                     } catch (Exception ignore) { }
                 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEventManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEventManager.java
index e5b601f..7b4963c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEventManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/DescriptorEventManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -1050,10 +1050,10 @@
     }
 
     /**
-     * Create an instance of {@link AtomicIntegerArray} initialized with {@code NullEvent} values.
+     * Create an instance of {@link java.util.concurrent.atomic.AtomicIntegerArray} initialized with {@code NullEvent} values.
      *
      * @param length length of the array.
-     * @return initialized instance of {@link AtomicIntegerArray}
+     * @return initialized instance of {@link java.util.concurrent.atomic.AtomicIntegerArray}
      */
     private static <T> AtomicReferenceArray<T> newAtomicReferenceArray(final int length) {
         final AtomicReferenceArray array = new AtomicReferenceArray<>(length);
@@ -1062,10 +1062,10 @@
     }
 
     /**
-     * Create an instance of {@link AtomicIntegerArray} initialized with content of provided array.
+     * Create an instance of {@link java.util.concurrent.atomic.AtomicIntegerArray} initialized with content of provided array.
      *
      * @param src source array.
-     * @return initialized instance of {@link AtomicIntegerArray}
+     * @return initialized instance of {@link java.util.concurrent.atomic.AtomicIntegerArray}
      */
     private static <T> AtomicReferenceArray<T> newAtomicReferenceArray(final AtomicReferenceArray<T> src) {
         final int length = src.length();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/FieldsLockingPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/FieldsLockingPolicy.java
index 90a7c44..a6fdd40 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/FieldsLockingPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/FieldsLockingPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -47,7 +47,7 @@
      * A field locking policy is based on locking on a subset of fields by comparing with their previous values to detect field-level collisions.
      * Note: the unit of work must be used for all updates when using field locking.
      */
-    public FieldsLockingPolicy() {
+    protected FieldsLockingPolicy() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
index f0030db..6777ec5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/copying/AbstractCopyPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 abstract class AbstractCopyPolicy implements CopyPolicy {
     protected ClassDescriptor descriptor;
 
-    public AbstractCopyPolicy() {
+    protected AbstractCopyPolicy() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/FieldPartitioningPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/FieldPartitioningPolicy.java
index b76be7b..084174c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/FieldPartitioningPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/FieldPartitioningPolicy.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
@@ -37,16 +37,16 @@
     /** If query does not have the partition field in it, should the query be sent to all databases. */
     protected boolean unionUnpartitionableQueries = false;
 
-    public FieldPartitioningPolicy() {
+    protected FieldPartitioningPolicy() {
         super();
     }
 
-    public FieldPartitioningPolicy(String partitionField) {
+    protected FieldPartitioningPolicy(String partitionField) {
         super();
         this.partitionField = new DatabaseField(partitionField);
     }
 
-    public FieldPartitioningPolicy(String partitionField, boolean unionUnpartitionableQueries) {
+    protected FieldPartitioningPolicy(String partitionField, boolean unionUnpartitionableQueries) {
         this(partitionField);
         this.unionUnpartitionableQueries = unionUnpartitionableQueries;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/PartitioningPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/PartitioningPolicy.java
index 3ccc89e..aef41b5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/PartitioningPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/partitioning/PartitioningPolicy.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
@@ -40,6 +40,12 @@
     /** The persistent unit unique name for the policy. */
     protected String name;
 
+    /**
+     * Default constructor.
+     */
+    protected PartitioningPolicy() {
+    }
+
     public abstract List<Accessor> getConnectionsForQuery(AbstractSession session, DatabaseQuery query, AbstractRecord arguments);
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/eis/interactions/EISInteraction.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/eis/interactions/EISInteraction.java
index ac40732..131bb6b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/eis/interactions/EISInteraction.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/eis/interactions/EISInteraction.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -68,7 +68,7 @@
      * PUBLIC:
      * Default constructor.
      */
-    public EISInteraction() {
+    protected EISInteraction() {
         super();
         this.functionName = "";
         this.inputRecordName = "";
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/EclipseLinkException.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/EclipseLinkException.java
index a281d3f..b440fcc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/EclipseLinkException.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/EclipseLinkException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      * INTERNAL:
      * Return a new exception.
      */
-    public EclipseLinkException() {
+    protected EclipseLinkException() {
         this("");
     }
 
@@ -50,7 +50,7 @@
      * INTERNAL:
      * EclipseLink exception should only be thrown by EclipseLink.
      */
-    public EclipseLinkException(String theMessage) {
+    protected EclipseLinkException(String theMessage) {
         super(theMessage);
         this.indentationString = "";
         hasBeenLogged = false;
@@ -60,7 +60,7 @@
      * INTERNAL:
      * EclipseLink exception should only be thrown by EclipseLink.
      */
-    public EclipseLinkException(String message, Throwable internalException) {
+    protected EclipseLinkException(String message, Throwable internalException) {
         this(message);
         setInternalException(internalException);
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/JPARSErrorCodes.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/JPARSErrorCodes.java
index f5aca93..070d81e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/JPARSErrorCodes.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/JPARSErrorCodes.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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
@@ -14,7 +14,7 @@
 //     gonural - Initial implementation
 package org.eclipse.persistence.exceptions;
 
-public class JPARSErrorCodes {
+public final class JPARSErrorCodes {
     // Next range should start from LAST_ERROR_CODE (62000).
     // The JPA-RS uses error codes between 61000-61999 (both inclusive).
     public static final int ENTITY_NOT_FOUND = 61000;
@@ -42,4 +42,8 @@
     public static final int AN_EXCEPTION_OCCURRED = 61999;
     // end marker for JPA-RS error codes
     public static final int LAST_ERROR_CODE = 62000;
+
+    private JPARSErrorCodes() {
+        //no instance please
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/BeanValidationExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/BeanValidationExceptionResource.java
index 742b39d..3bc7235 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/BeanValidationExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/BeanValidationExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public BeanValidationExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/CommunicationExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/CommunicationExceptionResource.java
index fcd1276..1cc6cdf 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/CommunicationExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/CommunicationExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -23,7 +23,7 @@
  * @author Shannon Chen
  * @since TOPLink/Java 5.0
  */
-public class CommunicationExceptionResource extends ListResourceBundle {
+public final class CommunicationExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "12000", "Error Sending connection service to {0}." },
                                            { "12001", "Unable to Connect to {0}." },
@@ -33,6 +33,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public CommunicationExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConcurrencyExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConcurrencyExceptionResource.java
index 088732b..5b7990b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConcurrencyExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConcurrencyExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,7 +26,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Xi Chen
  */
-public class ConcurrencyExceptionResource extends ListResourceBundle {
+public final class ConcurrencyExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "2001", "Wait was interrupted. {0}Message: [{1}]" },
                                            { "2002", "Wait failure on ServerSession." },
@@ -42,6 +42,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public ConcurrencyExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConversionExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConversionExceptionResource.java
index 2d17f75..7de3fc4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConversionExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ConversionExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,7 +26,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Rick Barkhouse
  */
-public class ConversionExceptionResource extends ListResourceBundle {
+public final class ConversionExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "3001", "The object [{0}], of class [{1}], could not be converted to [{2}]." },
                                            { "3002", "The object [{0}], of class [{1}], from mapping [{2}] with descriptor [{3}], could not be converted to [{4}]." },
@@ -40,6 +40,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public ConversionExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DBWSExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DBWSExceptionResource.java
index 77d969b..5a1a876 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DBWSExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DBWSExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +20,7 @@
  * INTERNAL:
  * <b>Purpose:</b><p>English ResourceBundle for DBWSException.</p>
  */
-public class DBWSExceptionResource extends ListResourceBundle {
+public final class DBWSExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
         {"47000", "Could not locate file [{0}]"},
         {"47001", "Could not locate descriptor [{0}] for operation [{1}] in the O-R project"},
@@ -38,6 +38,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public DBWSExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DatabaseExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DatabaseExceptionResource.java
index 28553dd..746eebf 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DatabaseExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DatabaseExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -23,7 +23,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Xi Chen
  */
-public class DatabaseExceptionResource extends ListResourceBundle {
+public final class DatabaseExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "4003", "Configuration error.  Class [{0}] not found." },
                                            { "4005", "DatabaseAccessor not connected." },
@@ -44,6 +44,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public DatabaseExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DescriptorExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DescriptorExceptionResource.java
index 2959108..ae351b3 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DescriptorExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DescriptorExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -28,7 +28,7 @@
  * Creation date: (12/8/00 4:47:38 PM)
  * @author Rick Barkhouse
  */
-public class DescriptorExceptionResource extends ListResourceBundle {
+public final class DescriptorExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "1", "The attribute [{0}] is not declared as type ValueHolderInterface, but its mapping uses indirection." },
                                            { "2", "The attribute [{0}] is declared as type ValueHolderInterface, but its mapping does not use indirection." },
@@ -243,6 +243,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public DescriptorExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DiscoveryExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DiscoveryExceptionResource.java
index fa85da9..cc08ffb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DiscoveryExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/DiscoveryExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
  *
  * @author Steven Vo
  */
-public class DiscoveryExceptionResource extends ListResourceBundle {
+public final class DiscoveryExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "22001", "Could not join multicast group" },
                                            { "22002", "Could not send service announcment" },
@@ -31,6 +31,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public DiscoveryExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EISExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EISExceptionResource.java
index 1da265d..b1e0389 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EISExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EISExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -23,7 +23,7 @@
  * Creation date: (2/28/01 9:47:38 AM)
  * @author TopLink Maintenance Team
  */
-public class EISExceptionResource extends ListResourceBundle {
+public final class EISExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "17007", "{0} property must be set." },
                                            { "17008", "Invalid {0} property encountered." },
@@ -47,6 +47,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public EISExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EntityManagerSetupExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EntityManagerSetupExceptionResource.java
index ebc48c9..1eccfaa 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EntityManagerSetupExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/EntityManagerSetupExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,11 +22,14 @@
  *
  * @author Tom Ware
  */
-public class EntityManagerSetupExceptionResource extends ListResourceBundle {
+public final class EntityManagerSetupExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
-                                           { "28001", "A ValidationException was thrown while trying to create session: [{0}] " + ". The most likely causes of this issue are that your [{1}] file is not available on the classpath " + "or it does not contain a session called: [{0}]." },
+                                           { "28001", "A ValidationException was thrown while trying to create session: [{0}]. " +
+                                                   "The most likely causes of this issue are that your [{1}] file is not available on the classpath " +
+                                                   "or it does not contain a session called: [{0}]." },
                                            { "28002", "EclipseLink is attempting to load a ServerSession named [{0}] from [{1}], and not getting a ServerSession." },
-                                           { "28003", "EclipseLink has loaded Session [{0}] from [{1}] and it either does not have a server platform specified or specifies " + "a server platform that does not use and external transaction controller.  Specify an appropriate server platform if you plan to use JTA." },
+                                           { "28003", "EclipseLink has loaded Session [{0}] from [{1}] and it either does not have a server platform specified or specifies " +
+                                                   "a server platform that does not use and external transaction controller.  Specify an appropriate server platform if you plan to use JTA." },
                                            { "28004", "Error in setup of EntityManager factory: JavaSECMPInitializer.initializeFromMain returned false." },
                                            { "28005", "An Exception was thrown in setup of EntityManager factory." },
                                            { "28006", "ClassNotFound: [{0}] specified in [{1}] property." },
@@ -59,6 +62,13 @@
    };
 
     /**
+     * Default constructor.
+     */
+    public EntityManagerSetupExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionMessageGenerator.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionMessageGenerator.java
index e543514..adce894 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionMessageGenerator.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionMessageGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -33,9 +33,13 @@
  * Creation date: (12/7/00 10:30:38 AM)
  * @author Rick Barkhouse
  */
-public class ExceptionMessageGenerator {
+public final class ExceptionMessageGenerator {
     private final static String CR = PrivilegedAccessHelper.getSystemProperty("line.separator");
 
+    private ExceptionMessageGenerator() {
+        // for reflection
+    }
+
     /**
      * Return the loader for loading the resource bundles.
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionResource.java
index 1113778..cba9321 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -25,7 +25,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Rick Barkhouse
  */
-public class ExceptionResource extends java.util.ListResourceBundle {
+public final class ExceptionResource extends java.util.ListResourceBundle {
     static final Object[][] contents = {
                                            { "NoExceptionTranslationForThisLocale", "(There is no translation for this exception.) {0}" },
                                            { "ExceptionHeader", "Exception [EclipseLink-" },
@@ -46,6 +46,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public ExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JAXBExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JAXBExceptionResource.java
index ff1e698..a0fe515 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JAXBExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JAXBExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -25,7 +25,7 @@
  * INTERNAL:
  * <b>Purpose:</b><p>English ResourceBundle for JAXBException.</p>
  */
-public class JAXBExceptionResource extends ListResourceBundle {
+public final class JAXBExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
         {"50000", "The context path {0} contains no ObjectFactory or jaxb.index, no external metadata was found in properties Map, and sessions.xml was found or was invalid."},
         {"50001", "The class {0} requires a zero argument constructor or a specified factory method.  Note that non-static inner classes do not have zero argument constructors and are not supported."},
@@ -126,6 +126,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public JAXBExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JMSProcessingExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JMSProcessingExceptionResource.java
index d170ff9..c54fd3a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JMSProcessingExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JMSProcessingExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -28,7 +28,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author TopLink maintenance team
  */
-public class JMSProcessingExceptionResource extends ListResourceBundle {
+public final class JMSProcessingExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "18001", "Error while processing incoming JMS message" },
                                            { "18002", "The Topic created in the JMS Service for the interconnection of Sessions must be set in the JMSClusteringService" },
@@ -37,6 +37,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public JMSProcessingExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPARSExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPARSExceptionResource.java
index b6c4c03..2ffaab6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPARSExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPARSExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 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 @@
  * English resource bundle for JPARSException
  *
  */
-public class JPARSExceptionResource extends ListResourceBundle {
+public final class JPARSExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
             { String.valueOf(JPARSErrorCodes.ENTITY_NOT_FOUND), "An entity type {0} with id {1} could not be found in persistence unit {2}." },
             { String.valueOf(JPARSErrorCodes.OBJECT_REFERRED_BY_LINK_DOES_NOT_EXIST), "Entity referred by link does not exist, entity type {0}, id {1}." },
@@ -46,6 +46,13 @@
             { String.valueOf(JPARSErrorCodes.INVALID_PARAMETER), "Invalid parameter value (\"{0}\" = \"{1}\")." },
     };
 
+    /**
+     * Default constructor.
+     */
+    public JPARSExceptionResource() {
+        // for reflection
+    }
+
     @Override
     protected Object[][] getContents() {
         return contents;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPQLExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPQLExceptionResource.java
index f8f58a7..4fa4706 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPQLExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JPQLExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +21,7 @@
  * English ResourceBundle for EJBQLException.
  *
  */
-public class JPQLExceptionResource extends ListResourceBundle {
+public final class JPQLExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "8001", "Syntax Recognition Problem parsing the query [{0}]. The parser returned the following [{1}]." },
                                            { "8002", "General Problem parsing the query [{0}]. The parser returned the following [{1}]." },
@@ -68,6 +68,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public JPQLExceptionResource() {
+        // for reflection
+    }
+
+    /**
     * Return the lookup table.
     */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JSONExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JSONExceptionResource.java
index dc27d57..f769ef7 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JSONExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/JSONExceptionResource.java
@@ -20,12 +20,19 @@
  * INTERNAL:
  * <b>Purpose:</b><p>English ResourceBundle for JSONException.</p>
  */
-public class JSONExceptionResource extends ListResourceBundle {
+public final class JSONExceptionResource extends ListResourceBundle {
     public static final Object[][] contents = {
             {"60001", "Input JSON document is invalid or doesn't match target object graph."},
     };
 
     /**
+     * Default constructor.
+     */
+    public JSONExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/OptimisticLockExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/OptimisticLockExceptionResource.java
index 5ab6154..12cfa29 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/OptimisticLockExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/OptimisticLockExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -23,7 +23,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Xi Chen
  */
-public class OptimisticLockExceptionResource extends ListResourceBundle {
+public final class OptimisticLockExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "5001", "An attempt was made to delete the object [{0}], but it has no version number in the identity map. {3}It may not have been read before the delete was attempted. {3}Class> {1} Primary Key> {2}" },
                                            { "5003", "The object [{0}] cannot be deleted because it has changed or been deleted since it was last read. {3}Class> {1} Primary Key> {2}" },
@@ -37,6 +37,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public OptimisticLockExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/PersistenceUnitLoadingExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/PersistenceUnitLoadingExceptionResource.java
index c62a340..be1f782 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/PersistenceUnitLoadingExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/PersistenceUnitLoadingExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -19,7 +19,7 @@
 
 import java.util.ListResourceBundle;
 
-public class PersistenceUnitLoadingExceptionResource extends ListResourceBundle {
+public final class PersistenceUnitLoadingExceptionResource extends ListResourceBundle {
 
         static final Object[][] contents = {
                                            { "30001", "An exception was thrown while trying to load a persistence unit for directory: {0}"},
@@ -44,6 +44,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public PersistenceUnitLoadingExceptionResource() {
+        // for reflection
+    }
+
+    /**
       * Return the lookup table.
       */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/QueryExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/QueryExceptionResource.java
index 8fcf622..50e8445 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/QueryExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/QueryExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -39,13 +39,21 @@
  *
  * @author Xi Chen
  */
-public class QueryExceptionResource extends ListResourceBundle {
+public final class QueryExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
        { "6001", "Cursored SQL queries must provide an additional query to retrieve the size of the result set." },
        { "6002", "Aggregated objects cannot be written/deleted/queried independently from their owners. {1}Descriptor: [{0}]" },
        { "6003", "The number of arguments provided to the query for execution does not match the number of arguments in the query definition." },
-       { "6004", "The object [{0}], of class [{1}], with identity hashcode (System.identityHashCode()) [{2}], {3}is not from this UnitOfWork object space, but the parent session''s.  The object was never registered in this UnitOfWork, {3}but read from the parent session and related to an object registered in the UnitOfWork.  Ensure that you are correctly" + "{3}registering your objects.  If you are still having problems, you can use the UnitOfWork.validateObjectSpace() method to {3}help debug where the error occurred.  For more information, see the manual or FAQ." },
-       { "6005", "The object [{0}], of class [{1}], with identity hashcode (System.identityHashCode()) [{2}], {3}is the original to a registered new object.  The UnitOfWork clones registered new objects, so you must ensure that an object {3}is registered before it is referenced by another object.  If you do not want the new object to be cloned, use the" + "{3}UnitOfWork.registerNewObject(Object) API.  If you are still having problems, you can use the UnitOfWork.validateObjectSpace() {3}method to help debug where the error occurred.  For more information, see the manual or FAQ." },
+       { "6004", "The object [{0}], of class [{1}], with identity hashcode (System.identityHashCode()) [{2}], {3} is not from this UnitOfWork object space, but the parent session''s. " +
+               "The object was never registered in this UnitOfWork, {3} but read from the parent session and related to an object registered in the UnitOfWork. " +
+               "Ensure that you are correctly {3} registering your objects. " +
+               "If you are still having problems, you can use the UnitOfWork.validateObjectSpace() method to {3} help debug where the error occurred. " +
+               "For more information, see the manual or FAQ." },
+       { "6005", "The object [{0}], of class [{1}], with identity hashcode (System.identityHashCode()) [{2}], {3} is the original to a registered new object. " +
+               "The UnitOfWork clones registered new objects, so you must ensure that an object {3} is registered before it is referenced by another object. " +
+               "If you do not want the new object to be cloned, use the {3}UnitOfWork.registerNewObject(Object) API. " +
+               "If you are still having problems, you can use the UnitOfWork.validateObjectSpace() {3} method to help debug where the error occurred. " +
+               "For more information, see the manual or FAQ." },
        { "6006", "The mapping [{0}] does not support batch reading." },
        { "6007", "Missing descriptor for [{0}]." },
        { "6008", "Missing descriptor for [{0}] for query named [{1}]." },
@@ -124,7 +132,11 @@
        { "6098", "Unexpected Invocation Exception: {0}." },
        { "6099", "Joining across inheritance class with multiple table subclasses not supported: {0}, {1}" },
        { "6100", "Multiple values detected for single-object read query." },
-       { "6101", "Executing this query could violate the integrity of the global session cache which must contain only the latest versions of objects.  In order to execute a query that returns objects as of a past time, try one of the following: Use a HistoricalSession (acquireSessionAsOf), all objects read will be cached and automatically read as of the same time.  This will apply even to triggering object relationships.  Set shouldMaintainCache to false.  You may make any object expression as of a past time, " + "provided none of its fields are represented in the result set (i.e. used only in the where clause)." },
+       { "6101", "Executing this query could violate the integrity of the global session cache which must contain only the latest versions of objects. " +
+               "In order to execute a query that returns objects as of a past time, try one of the following: Use a HistoricalSession (acquireSessionAsOf), " +
+               "all objects read will be cached and automatically read as of the same time.  This will apply even to triggering object relationships. " +
+               "Set shouldMaintainCache to false.  You may make any object expression as of a past time, " +
+               "provided none of its fields are represented in the result set (i.e. used only in the where clause)." },
        { "6102", "At present historical queries only work with Oracle 9R2 or later databases, as it uses Oracle''s Flashback feature." },
        { "6103", "You may not execute a WriteQuery from inside a read-only HistoricalSession.  To restore past objects, try the following: read the same object as it is now with a UnitOfWork and commit the UnitOfWork." },
        { "6104", "The object, {0}, does not exist in the cache." },
@@ -210,6 +222,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public QueryExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/RemoteCommandManagerExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/RemoteCommandManagerExceptionResource.java
index a5a03a5..07823e3 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/RemoteCommandManagerExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/RemoteCommandManagerExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,7 +26,7 @@
  *
  * @author Steven Vo
  */
-public class RemoteCommandManagerExceptionResource extends ListResourceBundle {
+public final class RemoteCommandManagerExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "22101", "Could not obtain JNDI context, check your properties are set correctly." },
                                            { "22102", "Could not post connection in local naming service under name {0}" },
@@ -50,6 +50,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public RemoteCommandManagerExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SDOExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SDOExceptionResource.java
index f5353c7..a1d3a35 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SDOExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SDOExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -23,7 +23,7 @@
  * INTERNAL:
  * <b>Purpose:</b><p>English ResourceBundle for SDOException.</p>
  */
-public class SDOExceptionResource extends ListResourceBundle {
+public final class SDOExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "45000", "Could not find ID element of type ID on type with uri [{0}] and name [{1}] ." },
                                            { "45001", "An error occurred processing the import with schemaLocation [{0}] and namespace [{1}] ." },
@@ -88,6 +88,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public SDOExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ServerPlatformExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ServerPlatformExceptionResource.java
index 9ef268a..c127dfb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ServerPlatformExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ServerPlatformExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -16,7 +16,7 @@
 
 import java.util.ListResourceBundle;
 
-public class ServerPlatformExceptionResource extends ListResourceBundle {
+public final class ServerPlatformExceptionResource extends ListResourceBundle {
 
     static final Object[][] contents = {
         { "63001", "Server platform class {0} not found." },
@@ -24,6 +24,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public ServerPlatformExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      * @return lookup table
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SessionLoaderExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SessionLoaderExceptionResource.java
index 2f75a4b..ff831db 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SessionLoaderExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/SessionLoaderExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -23,7 +23,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Gordon Yorke
  */
-public class SessionLoaderExceptionResource extends ListResourceBundle {
+public final class SessionLoaderExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "9000", "Several [{0}] SessionLoaderExceptions were thrown:" },
                                            { "9001", "Unknown tag name: [{0}] in XML node: [{1}]." },
@@ -43,6 +43,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public SessionLoaderExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/StaticWeaveExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/StaticWeaveExceptionResource.java
index ea9e6ce..1c243aa 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/StaticWeaveExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/StaticWeaveExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -16,7 +16,7 @@
 
 import java.util.ListResourceBundle;
 
-public class StaticWeaveExceptionResource extends ListResourceBundle {
+public final class StaticWeaveExceptionResource extends ListResourceBundle {
         static final Object[][] contents = {
                                            { "40001", "An exception was thrown while trying to open an archive from URL: {0}"},
                                            { "40002", "No source was specified for weaving"},
@@ -28,6 +28,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public StaticWeaveExceptionResource() {
+        // for reflection
+    }
+
+    /**
       * Return the lookup table.
       */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/TransactionExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/TransactionExceptionResource.java
index 2beae2a..eace501 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/TransactionExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/TransactionExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +21,7 @@
  * English ResourceBundle for TransactionException messages.
  *
  */
-public class TransactionExceptionResource extends ListResourceBundle {
+public final class TransactionExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "23001", "Error looking up external Transaction resource under JNDI name [{0}]" },
                                            { "23002", "Error obtaining status of current externally managed transaction" },
@@ -42,6 +42,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public TransactionExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ValidationExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ValidationExceptionResource.java
index 25a664b..1b40210 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ValidationExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/ValidationExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -54,7 +54,7 @@
  * Creation date: (12/6/00 9:47:38 AM)
  * @author Xi Chen
  */
-public class ValidationExceptionResource extends ListResourceBundle {
+public final class ValidationExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "7001", "You must login to the ServerSession before acquiring ClientSessions." },
                                            { "7002", "The pool named [{0}] does not exist." },
@@ -125,8 +125,16 @@
                                            { "7099", "The deployment project XML resource [{0}] was not found on the resource path.  Check that the resource name/path and classloader passed to the XMLProjectReader are correct.  The project XML should be included in the root of the application''s deployed jar, if the project XML is deployed in a sub-directory in the application''s jar ensure that the correct resource path using \"/\" not \"\\\" is used." },
                                            { "7100", "Could not find the session with the name [{0}] in the session.xml file [{1}]" },
                                            { "7101", "No \"meta-inf/eclipselink-ejb-jar.xml\" could be found in your classpath.  The CMP session could not be read in from file." },
-                                           { "7102", "Encountered a null value for a cache key while attempting to remove" + "{2}an object from the identity map: [{0}]" + "{2}containing an object of class: [{1}] (or a class in this hierarchy)" + "{2}The most likely cause of this situation is that the object has already been garbage-" + "{2}collected and therefore does not exist within the identity map." + "{2}Consider using an alternative identity map to prevent this situation." + "{2}Refer to the EclipseLink documentation for more details regarding identity maps ." },
-                                           { "7103", "A null reference was encountered while attempting to invoke" + "{1}method: [{0}] on an object which uses proxy indirection." + "{1}Check that this object is not null before invoking its methods." },
+                                           { "7102", "Encountered a null value for a cache key while attempting to remove" +
+                                                   "{2}an object from the identity map: [{0}]" +
+                                                   "{2}containing an object of class: [{1}] (or a class in this hierarchy)" +
+                                                   "{2}The most likely cause of this situation is that the object has already been garbage-" +
+                                                   "{2}collected and therefore does not exist within the identity map." +
+                                                   "{2}Consider using an alternative identity map to prevent this situation." +
+                                                   "{2}Refer to the EclipseLink documentation for more details regarding identity maps ." },
+                                           { "7103", "A null reference was encountered while attempting to invoke" +
+                                                   "{1}method: [{0}] on an object which uses proxy indirection." +
+                                                   "{1}Check that this object is not null before invoking its methods." },
                                            { "7104", "Sequencing login should not use External Transaction Controller." },
                                            { "7105", "Error encountered converting encrypting class: [{0}]" },
                                            { "7106", "Error encountered during string encryption." },
@@ -366,6 +374,13 @@
  };
 
     /**
+     * Default constructor.
+     */
+    public ValidationExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLConversionExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLConversionExceptionResource.java
index 515efa8..f102bf8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLConversionExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLConversionExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -22,7 +22,7 @@
 /**
  * INTERNAL:
  */
-public class XMLConversionExceptionResource extends ListResourceBundle {
+public final class XMLConversionExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "25501", "Cannot create URL for file  [{0}] ." },
                                            { "25502", "Incorrect gDay format: [{0}] (expected [----DD])" },
@@ -35,6 +35,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public XMLConversionExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLMarshalExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLMarshalExceptionResource.java
index 30df6c6..0cfd991 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLMarshalExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLMarshalExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -27,7 +27,7 @@
  * @author    Rick Barkhouse - rick.barkhouse@oracle.com
  * @since    OracleAS TopLink 10<i>g</i> (10.0.3), 03/25/2003 10:04:12
  */
-public class XMLMarshalExceptionResource extends ListResourceBundle {
+public final class XMLMarshalExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "25001", "Invalid XPath string: {0}" },
                                            { "25002", "An integer index could not be parsed from this XPath string: {0}" },
@@ -74,6 +74,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public XMLMarshalExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLParseExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLParseExceptionResource.java
index e222f03..6afc3ec 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLParseExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLParseExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -16,7 +16,7 @@
 
 import java.util.ListResourceBundle;
 
-public class XMLParseExceptionResource extends ListResourceBundle {
+public final class XMLParseExceptionResource extends ListResourceBundle {
 
     static final Object[][] contents = {
         { "34000", "An exception occurred while attempting to parse entity-mappings file: {0}. A DocumentBuilder instance could not be created."},
@@ -27,6 +27,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public XMLParseExceptionResource() {
+        // for reflection
+    }
+
+    /**
       * Return the lookup table.
       */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLPlatformExceptionResource.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLPlatformExceptionResource.java
index cb1ebc9..4846cc2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLPlatformExceptionResource.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/exceptions/i18n/XMLPlatformExceptionResource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -19,7 +19,7 @@
 /**
  * INTERNAL:
  */
-public class XMLPlatformExceptionResource extends ListResourceBundle {
+public final class XMLPlatformExceptionResource extends ListResourceBundle {
     static final Object[][] contents = {
                                            { "27001", "The XML Platform class was not found: {0}" },
                                            { "27002", "The XML Platform could not be instantiated: {0}" },
@@ -35,6 +35,13 @@
     };
 
     /**
+     * Default constructor.
+     */
+    public XMLPlatformExceptionResource() {
+        // for reflection
+    }
+
+    /**
      * Return the lookup table.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/Expression.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/Expression.java
index 4048998..307d405 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/Expression.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/Expression.java
@@ -96,7 +96,7 @@
     /**
      * Base Expression Constructor.  Not generally used by Developers
      */
-    public Expression() {
+    protected Expression() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/ExpressionMath.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/ExpressionMath.java
index 64049fa..6b9a9a0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/ExpressionMath.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/ExpressionMath.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -26,7 +26,10 @@
  *  session.readAllObjects(Company.class, poorAndRich);
  * </pre></blockquote>
  */
-public class ExpressionMath {
+public final class ExpressionMath {
+
+    private ExpressionMath() {
+    }
 
     /**
      * PUBLIC:
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/spatial/SpatialExpressionFactory.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/spatial/SpatialExpressionFactory.java
index 354754a..e5aa4b8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/spatial/SpatialExpressionFactory.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/expressions/spatial/SpatialExpressionFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -36,7 +36,11 @@
  *
  * @since Oracle TopLink 11.1.1.0.0
  */
-public class SpatialExpressionFactory {
+public final class SpatialExpressionFactory {
+
+    private SpatialExpressionFactory() {
+        // no instance please
+    }
 
     /**
      * PUBLIC:
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/indirection/IndirectCollectionsFactory.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/indirection/IndirectCollectionsFactory.java
index 6423720..17a8bff 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/indirection/IndirectCollectionsFactory.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/indirection/IndirectCollectionsFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -47,6 +47,10 @@
      */
     public static final Class IndirectMap_Class = provider.getMapClass();
 
+    private IndirectCollectionsFactory() {
+        // no instance please
+    }
+
     /**
      * Construct an empty {@link IndirectList} with the default initial capacity (10)
      * and default capacity increment (0).
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/AttributeDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/AttributeDefinition.java
index b9b217f..f7ee5ee 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/AttributeDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/AttributeDefinition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -26,7 +26,7 @@
 public abstract class AttributeDefinition extends CodeDefinition {
     protected String initialValue;
 
-    public AttributeDefinition() {
+    protected AttributeDefinition() {
     }
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/CodeDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/CodeDefinition.java
index aaa754a..8a8b0a0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/CodeDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/CodeDefinition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,7 +33,7 @@
     protected static final String JAVA_UTIL_PACKAGE_NAME = "java.util";
     protected static final String TOPLINK_INDIRECTION_PACKAGE_NAME = "org.eclipse.persistence.indirection";
 
-    public CodeDefinition() {
+    protected CodeDefinition() {
         this.accessLevel = new AccessLevel();
         this.name = "";
         this.comment = "";
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/MethodDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/MethodDefinition.java
index da5451d..3a75ce4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/MethodDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/codegen/MethodDefinition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     protected Vector exceptions;
     protected StringBuffer storedBuffer;
 
-    public MethodDefinition() {
+    protected MethodDefinition() {
         this.isConstructor = false;
         this.returnType = "void";
         this.lines = new Vector();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreInstantiationPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreInstantiationPolicy.java
index deaa71d..0ece943 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreInstantiationPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreInstantiationPolicy.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
@@ -17,6 +17,12 @@
 public abstract class CoreInstantiationPolicy {
 
     /**
+     * Default constructor.
+     */
+    protected CoreInstantiationPolicy() {
+    }
+
+    /**
      * Build and return a new instance, using the appropriate mechanism.
      */
     public abstract Object buildNewInstance();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreObjectBuilder.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreObjectBuilder.java
index 9b2d73b..e3410dd 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreObjectBuilder.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/descriptors/CoreObjectBuilder.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,6 +27,12 @@
     MAPPING extends CoreMapping> {
 
     /**
+     * Default constructor.
+     */
+    protected CoreObjectBuilder() {
+    }
+
+    /**
      * Return a new instance of the receiver's javaClass.
      */
     public abstract Object buildNewInstance();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/helper/CoreConversionManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/helper/CoreConversionManager.java
index ee028a4..27f8f08 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/helper/CoreConversionManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/helper/CoreConversionManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -19,6 +19,12 @@
 public abstract class CoreConversionManager {
 
     /**
+     * Default constructor.
+     */
+    protected CoreConversionManager() {
+    }
+
+    /**
      * Convert the object to the appropriate type by invoking the appropriate
      * ConversionManager method
      * @param sourceObject the object that must be converted
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/queries/CoreAttributeConverter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/queries/CoreAttributeConverter.java
index c64d3ab..6b6111b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/queries/CoreAttributeConverter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/queries/CoreAttributeConverter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -79,6 +79,7 @@
      *         or any element to be returned after split is <code>null</code>, empty or contains
      *         whitespace at the beginning or end.
      */
+    @SuppressWarnings({"fallthrough"})
     public static final String[] convert(final String... nameOrPath)
             throws IllegalArgumentException {
         if (nameOrPath == null) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractRecord.java
index bb0ef48..078528d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractRecord.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
@@ -16,4 +16,9 @@
 
 public abstract class CoreAbstractRecord {
 
+    /**
+     * Default constructor.
+     */
+    protected CoreAbstractRecord() {
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractSession.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractSession.java
index 331b57d..c22d616 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractSession.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/core/sessions/CoreAbstractSession.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,6 +31,12 @@
     SESSION_EVENT_MANAGER extends CoreSessionEventManager> implements CoreSession<DESCRIPTOR, LOGIN, PLATFORM, PROJECT, SESSION_EVENT_MANAGER> {
 
     /**
+     * Default constructor.
+     */
+    protected CoreAbstractSession() {
+    }
+
+    /**
      * INTERNAL:
      * Return the database platform currently connected to.
      * The platform is used for database specific behavior.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/ConnectionCustomizer.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/ConnectionCustomizer.java
index 728e6da..c5cb7f1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/ConnectionCustomizer.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/ConnectionCustomizer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      * The accessor and the session couldn't be altered during the connector's lifetime,
      * the only exception is of the new accessor by DatasourceAccessor.clone method.
      */
-    public ConnectionCustomizer(Accessor accessor, Session session) {
+    protected ConnectionCustomizer(Accessor accessor, Session session) {
         this.accessor = accessor;
         this.session = session;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java
index fab262a..fa9c6aa 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatabaseCall.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2019, 2020 IBM Corporation. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 IBM Corporation. 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
@@ -183,7 +183,7 @@
      */
     protected List<DatabaseField> outputCursors;
 
-    public DatabaseCall() {
+    protected DatabaseCall() {
         super.shouldProcessTokenInQuotes = false;
         this.usesBinding = null;
         this.shouldCacheStatement = null;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceAccessor.java
index a348908..4544778 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceAccessor.java
@@ -155,7 +155,7 @@
     /**
      *    Default Constructor.
      */
-    public DatasourceAccessor() {
+    protected DatasourceAccessor() {
         this.isInTransaction = false;
         this.callCount = 0;
         this.isConnected = false;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceCall.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceCall.java
index 4416f35..519e1f6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceCall.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/databaseaccess/DatasourceCall.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -87,7 +87,7 @@
     protected static final int RETURN_CURSOR = 4;
     protected static final int EXECUTE_UPDATE = 5;
 
-    public DatasourceCall() {
+    protected DatasourceCall() {
         this.isPrepared = false;
         this.shouldProcessTokenInQuotes = true;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/descriptors/DescriptorIterator.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/descriptors/DescriptorIterator.java
index 908f305..4b0a609 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/descriptors/DescriptorIterator.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/descriptors/DescriptorIterator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      *    skip aggregate objects
      *    skip primitives (Strings, Dates, Integers, etc.)
      */
-    public DescriptorIterator() {
+    protected DescriptorIterator() {
         // 2612538 - the default size of Map (32) is appropriate
         this.visitedObjects = new IdentityHashMap();
         this.visitedStack = new Stack();
@@ -685,6 +685,12 @@
     }
 
     public class CascadeCondition{
+        /**
+         * Default constructor.
+         */
+        public CascadeCondition() {
+        }
+
         public boolean shouldNotCascade(DatabaseMapping mapping){
             return !(shouldCascadeAllParts() || (shouldCascadePrivateParts() && mapping.isPrivateOwned()));
         }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/dynamic/DynamicEntityImpl.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/dynamic/DynamicEntityImpl.java
index 5a4b16e..e462971 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/dynamic/DynamicEntityImpl.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/dynamic/DynamicEntityImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     /**
      * Instantiates a new dynamic entity impl.
      */
-    public DynamicEntityImpl() {
+    protected DynamicEntityImpl() {
         postConstruct(); // life-cycle callback
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/BaseExpression.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/BaseExpression.java
index f458b5a..ce215a7 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/BaseExpression.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/BaseExpression.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,11 +28,11 @@
     /** PERF: Used to cache the builder. */
     protected ExpressionBuilder builder;
 
-    public BaseExpression() {
+    protected BaseExpression() {
         super();
     }
 
-    public BaseExpression(Expression baseExpression) {
+    protected BaseExpression(Expression baseExpression) {
         super();
         this.baseExpression = baseExpression;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/CompoundExpression.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/CompoundExpression.java
index 7a1a6c6..77e0e60 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/CompoundExpression.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/CompoundExpression.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     protected Expression secondChild;
     protected ExpressionBuilder builder;
 
-    public CompoundExpression() {
+    protected CompoundExpression() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/DataExpression.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/DataExpression.java
index c3e176e..083fb2f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/DataExpression.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/DataExpression.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -43,7 +43,7 @@
     /**
      * DataExpression constructor comment.
      */
-    public DataExpression() {
+    protected DataExpression() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ExpressionIterator.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ExpressionIterator.java
index 47b4cdd..a646ce5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ExpressionIterator.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ExpressionIterator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -34,7 +34,7 @@
     /**
      * Block constructor comment.
      */
-    public ExpressionIterator() {
+    protected ExpressionIterator() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ObjectExpression.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ObjectExpression.java
index 52dd58d..73aa384 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ObjectExpression.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/ObjectExpression.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -62,7 +62,7 @@
     /** Allow hasBeenAliased to be marked independently from the existence of the tableAliases collection. */
     protected boolean hasBeenAliased = false;
 
-    public ObjectExpression() {
+    protected ObjectExpression() {
         this.shouldUseOuterJoin = false;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/SQLStatement.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/SQLStatement.java
index 38802d3..aa18551 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/SQLStatement.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/expressions/SQLStatement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,12 @@
     protected String hintString;
 
     /**
+     * Default constructor.
+     */
+    protected SQLStatement() {
+    }
+
+    /**
      * Return SQL call for the statement, through generating the SQL string.
      */
     public abstract DatabaseCall buildCall(AbstractSession session);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ExplainDeadLockUtil.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ExplainDeadLockUtil.java
index b693d27..a4ff18c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ExplainDeadLockUtil.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/ExplainDeadLockUtil.java
@@ -1032,8 +1032,6 @@
      * Create a deadlock component for a thread known to be stuck trying to release deferred locks.
      *
      * @param nextThreadPartOfDeadLock
-     *
-     * @param nextThreadPartOfDeadLock
      *            the thread that was participating in the dead lock as we went deeper in the recursion.
      * @param threadNotAbleToAccessResource
      *            the thread at the current depth that is part of the dead lock
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/IdentityHashSet.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/IdentityHashSet.java
index da0427a..d2ffa32 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/IdentityHashSet.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/IdentityHashSet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -265,7 +265,7 @@
     /**
      * This implementation throws an <code>UnsupportedOperationException</code>
      * because <code>removeAll</code> does not work correctly with reference
-     * equality testing.<p>
+     * equality testing.
      */
     @Override
     public boolean removeAll(Collection c) {
@@ -275,7 +275,7 @@
     /**
      * This implementation throws an <code>UnsupportedOperationException</code>.
      * The Javadocs for {@link AbstractCollection} indicates that <code>retainAll</code>
-     * is an optional method.<p>
+     * is an optional method.
      */
     @Override
     public boolean retainAll(Collection c) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/JavaVersion.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/JavaVersion.java
index aabc43b..3799bec 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/JavaVersion.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/JavaVersion.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -87,7 +87,6 @@
 
     /**
      * Invoke {@code Runtime.Version} method with given name ({@code major} or {@code minor}) to retrieve version numbers.
-     * @param vClass {@code Runtime.Version} class.
      * @param vObj {@code Runtime.Version} class instance containing JDK version information.
      * @param name name of {@code Runtime.Version} instance method to invoke.
      */
@@ -123,11 +122,11 @@
     /**
      * Parse Java specification version from JDK system property provided as an argument.
      * Version string should look like:<ul>
-     * <li/><code>"MA.MI"</code>
+     * <li><code>"MA.MI"</code>
      * </ul>
      * Where<ul>
-     * <li/>MA is major version number,
-     * <li/>MI is minor version number
+     * <li>MA is major version number,
+     * <li>MI is minor version number
      * </ul>
      * Label <code>java version</code> is parsed as non case sensitive.
      * @return Current JDK version for any JDK from system property.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/type/DeadLockComponent.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/type/DeadLockComponent.java
index 1a3add5..a6b6f5e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/type/DeadLockComponent.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/helper/type/DeadLockComponent.java
@@ -15,6 +15,7 @@
 import org.eclipse.persistence.internal.helper.ConcurrencyManager;
 import org.eclipse.persistence.internal.helper.ConcurrencyUtil;
 
+import java.util.List;
 import java.util.Map;
 
 public class DeadLockComponent {
@@ -24,7 +25,7 @@
     // Mutually exclusive boolean flags
     /**
      * One of the code spots a thread can get stuck is when it is waiting for
-     * {@link org.eclipse.persistence.internal.helper.ConcurrencyManager#isBuildObjectOnThreadComplete(Thread, Map)} to
+     * {@link org.eclipse.persistence.internal.helper.ConcurrencyManager#isBuildObjectOnThreadComplete(Thread, Map, List, boolean)} to
      * return true in the {@code CacheKey.releaseDeferredLock}
      *
      * <P>
@@ -36,7 +37,7 @@
      *
      * <P>
      * we will need to re-write the
-     * {@link org.eclipse.persistence.internal.helper.ConcurrencyManager#isBuildObjectOnThreadComplete(Thread, Map)}
+     * {@link org.eclipse.persistence.internal.helper.ConcurrencyManager#isBuildObjectOnThreadComplete(Thread, Map, List, boolean)}
      * to be able to know what thread and what cache key is being thorny point on object building.
      *
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMap.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMap.java
index d703c5a..5ef2b92 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMap.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -50,7 +50,7 @@
     /** Session that the map is on */
     protected AbstractSession session;
 
-    public AbstractIdentityMap(){
+    protected AbstractIdentityMap(){
     }
 
     /**
@@ -58,7 +58,7 @@
      * <b>NOTE</b>: Subclasses may provide different behavior for maxSize.
      * @param size is the maximum size to be allocated for the receiver.
      */
-    public AbstractIdentityMap(int size, ClassDescriptor descriptor, AbstractSession session, boolean isolated) {
+    protected AbstractIdentityMap(int size, ClassDescriptor descriptor, AbstractSession session, boolean isolated) {
         this.maxSize = size;
         this.descriptor = descriptor;
         this.isIsolated = isolated;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMapEnumeration.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMapEnumeration.java
index 0341c68..197ebaa 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMapEnumeration.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/identitymaps/AbstractIdentityMapEnumeration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -45,7 +45,7 @@
      * @param shouldCheckReadLocks value of {@code true} if read lock on the {@link CacheKey}
      *        instances should be checked or {@code false} otherwise
      */
-    public AbstractIdentityMapEnumeration(Collection<CacheKey> keys, boolean shouldCheckReadLocks) {
+    protected AbstractIdentityMapEnumeration(Collection<CacheKey> keys, boolean shouldCheckReadLocks) {
         this.shouldCheckReadLocks = shouldCheckReadLocks;
         this.cacheKeysIterator = keys.iterator();
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/indirection/IndirectionPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/indirection/IndirectionPolicy.java
index 5b6027f..abfd13e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/indirection/IndirectionPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/indirection/IndirectionPolicy.java
@@ -71,7 +71,7 @@
      * INTERNAL:
      * Construct a new indirection policy.
      */
-    public IndirectionPolicy() {
+    protected IndirectionPolicy() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/Declaration.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/Declaration.java
index c3cf782..0aef70c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/Declaration.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/Declaration.java
@@ -42,12 +42,12 @@
     Expression baseExpression;
 
     /**
-     * The declaration expression, which is either an {@link org.eclipse.persistence.jpa.jpql.parser.
-     * IdentificationVariableDeclaration IdentificationVariableDeclaration} or a {@link
-     * org.eclipse.persistence.jpa.jpql.parser.CollectionMemberDeclaration CollectionMemberDeclaration}
-     * when part of a <b>FROM</b> clause, otherwise it's either the {@link org.eclipse.persistence.
-     * jpa.jpql.parser.DeleteClause DeleteClause} or the {@link org.eclipse.persistence.jpa.jpql.
-     * parser.UpdateClause UpdateClause}.
+     * The declaration expression, which is either an
+     * {@link org.eclipse.persistence.jpa.jpql.parser.IdentificationVariableDeclaration IdentificationVariableDeclaration}
+     * or a {@link org.eclipse.persistence.jpa.jpql.parser.CollectionMemberDeclaration CollectionMemberDeclaration}
+     * when part of a <b>FROM</b> clause, otherwise it's either the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.DeleteClause DeleteClause} or the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.UpdateClause UpdateClause}.
      */
     Expression declarationExpression;
 
@@ -180,7 +180,7 @@
 
     /**
      * Resolves this {@link Declaration} and returns the associated {@link ClassDescriptor}. For a
-     * {@link RangeVariableDeclaration}, this will return the actual descriptor for the entity. For
+     * {@link org.eclipse.persistence.jpa.jpql.parser.RangeVariableDeclaration}, this will return the actual descriptor for the entity. For
      * a mapping, this will return the reference descriptor.
      *
      * @return The descriptor associated with this declaration
@@ -189,7 +189,7 @@
 
     /**
      * Resolves this {@link Declaration} and returns the associated {@link DatabaseMapping} if this
-     * represents a path expression. In the case of a {@link RangeVariableDeclaration}, this will
+     * represents a path expression. In the case of a {@link org.eclipse.persistence.jpa.jpql.parser.RangeVariableDeclaration}, this will
      * return <code>null</code>.
      *
      * @return The mapping associated with this declaration
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/DeclarationResolver.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/DeclarationResolver.java
index b98a16b..809c587 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/DeclarationResolver.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/DeclarationResolver.java
@@ -313,6 +313,7 @@
      * @return <code>true</code> if the given identification variable maps a collection-valued field
      * defined in a <code>JOIN</code> or <code>IN</code> expression; <code>false</code> otherwise
      */
+    @SuppressWarnings({"fallthrough"})
     boolean isCollectionIdentificationVariableImp(String variableName) {
 
         for (Declaration declaration : declarations) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
index 2a83c40..ca440b5 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
@@ -158,9 +158,8 @@
 import org.eclipse.persistence.queries.ReportQuery;
 
 /**
- * This {@link ExpressionVisitor} visits an {@link org.eclipse.persistence.jpa.jpql.parser.Expression
- * JPQL Expression} and creates the corresponding {@link org.eclipse.persistence.expressions.
- * Expression EclipseLink Expression}.
+ * This {@link org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor} visits an {@link org.eclipse.persistence.jpa.jpql.parser.Expression
+ * JPQL Expression} and creates the corresponding {@link org.eclipse.persistence.expressions.Expression EclipseLink Expression}.
  *
  * @version 2.6
  * @since 2.3
@@ -193,8 +192,8 @@
     private final JPQLQueryContext queryContext;
 
     /**
-     * The EclipseLink {@link Expression} that represents a visited parsed {@link org.eclipse
-     * persistence.jpa.query.parser.Expression Expression}
+     * The EclipseLink {@link Expression} that represents a visited parsed
+     * {@link org.eclipse persistence.jpa.query.parser.Expression Expression}
      */
     private Expression queryExpression;
 
@@ -255,8 +254,8 @@
     }
 
     /**
-     * Creates a new EclipseLink {@link Expression} by visiting the given JPQL {@link org.eclipse.
-     * persistence.jpa.jpql.parser.Expression Expression}.
+     * Creates a new EclipseLink {@link Expression} by visiting the given JPQL
+     * {@link org.eclipse.persistence.jpa.jpql.parser.Expression Expression}.
      *
      * @param expression The {@link org.eclipse.persistence.jpa.jpql.parser.Expression Expression} to
      * convert into an EclipseLink {@link Expression}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
index 2ad43fa..50a9a64 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
@@ -114,7 +114,7 @@
 
     /**
      * This visitor is used to retrieve a variable name from various type of
-     * {@link org.eclipse.persistence.jpa.query.parser.Expression JPQL Expression}.
+     * {@link org.eclipse.persistence.jpa.jpql.parser.Expression JPQL Expression}.
      */
     private EclipseLinkLiteralVisitor literalVisitor;
 
@@ -141,8 +141,8 @@
     private AbstractSession session;
 
     /**
-     * This resolver is used to calculate the type of any {@link org.eclipse.persistence.jpa.jpql.
-     * parser.Expression JPQL Expression}.
+     * This resolver is used to calculate the type of any
+     * {@link org.eclipse.persistence.jpa.jpql.parser.Expression JPQL Expression}.
      */
     private TypeResolver typeResolver;
 
@@ -157,8 +157,8 @@
     private Set<String> usedIdentificationVariables;
 
     /**
-     * An empty array used when the type of an {@link org.eclipse.persistence.jpa.jpql.parser.
-     * Expression JPQL Expression} is not required.
+     * An empty array used when the type of an
+     * {@link org.eclipse.persistence.jpa.jpql.parser.Expression JPQL Expression} is not required.
      */
     private static final Class<?>[] EMPTY_TYPE = new Class<?>[1];
 
@@ -207,8 +207,8 @@
     /**
      * Caches the given input parameter name with its calculated type.
      *
-     * @param parameterName The name of the input parameter
-     * @param type The calculated type based on its surrounding, which is never <code>null</code>
+     * @param inputParameter The input parameter
+     * @param queryExpression The {@link Expression} that can be reused rather than being recreated
      */
     void addInputParameter(InputParameter inputParameter, Expression queryExpression) {
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryHelper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryHelper.java
index 9bac2c4..41a55dd 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryHelper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryHelper.java
@@ -95,13 +95,13 @@
     /**
      * Retrieves the class names and the attribute names mapped to their types that are used in the
      * constructor expressions defined in the <code><b>SELECT</b></code> clause.
-     * <p>
+     * <br>
      * For instance, from the following JPQL query:
-     * <p>
+     * <br>
      * <pre><code> SELECT new test.example.Employee(e.name, e.id),
      *        new test.example.Address(a.zipcode)
      * FROM Employee e, Address a</code></pre>
-     * <p>
+     * <br>
      * The return object is
      * <pre><code> |- test.example.Employee
      * |-   |- name : String
@@ -130,10 +130,10 @@
      * constructor expressions defined in the <code><b>SELECT</b></code> clause.
      * <p>
      * For instance, from the following JPQL query:
-     * <p>
+     * <br>
      * <pre><code> SELECT new test.example.Address(a.streetName, a.zipcode)
      * FROM Address a</code></pre>
-     * <p>
+     * <br>
      * The return object is
      * <pre><code> test.example.Address
      *    |- BasicMapping(streetName) : String
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ParameterType.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ParameterTypeVisitor.java
similarity index 100%
rename from foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ParameterType.java
rename to foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ParameterTypeVisitor.java
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReadAllQueryVisitor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReadAllQueryVisitor.java
index 080ba68..48a4f40 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReadAllQueryVisitor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReadAllQueryVisitor.java
@@ -39,7 +39,7 @@
      *
      * @param queryContext The context used to query information about the application metadata and
      * cached information
-     * @param query The {@link ReportQuery} to populate by using this visitor to visit the parsed
+     * @param query The {@link org.eclipse.persistence.queries.ReportQuery} to populate by using this visitor to visit the parsed
      * tree representation of the JPQL query
      */
     ReadAllQueryVisitor(JPQLQueryContext queryContext, ReadAllQuery query) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReportQueryVisitor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReportQueryVisitor.java
index 1f00b96..ab3976e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReportQueryVisitor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ReportQueryVisitor.java
@@ -36,8 +36,8 @@
 
     /**
      * This array is used to store the type of the select {@link org.eclipse.persistence.jpa.jpql
-     * parser.Expression JPQL Expression} that is converted into an {@link org.eclipse.persistence.
-     * expressions.Expression EclipseLink Expression}.
+     * parser.Expression JPQL Expression} that is converted into an
+     * {@link org.eclipse.persistence.expressions.Expression EclipseLink Expression}.
      */
     Class<?> type;
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/TypeResolver.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/TypeResolver.java
index 9c431df..c56641b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/TypeResolver.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/TypeResolver.java
@@ -1088,8 +1088,7 @@
     }
 
     /**
-     * Visits the given {@link ArithmeticExpression} and creates the appropriate {@link org.eclipse.
-     * persistence.expressions.Expression Expression}.
+     * Visits the given {@link ArithmeticExpression} and creates the appropriate {@link Expression Expression}.
      *
      * @param expression The {@link ArithmeticExpression} to visit
      */
@@ -1119,8 +1118,9 @@
     }
 
     /**
-     * Visits the given {@link Expression} and creates the appropriate {@link org.eclipse.persistence.
-     * expressions.Expression Expression} that will check the type for each of its children. If the
+     * Visits the given {@link Expression} and creates the appropriate
+     * {@link org.eclipse.persistence.expressions.Expression Expression}
+     * that will check the type for each of its children. If the
      * type is the same, then it's the {@link Expression}'s type; otherwise the type will be {@link Object}.
      *
      * @param expression The {@link Expression} to calculate the type of its children
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/AttributeNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/AttributeNode.java
index e403fe2..3eaa0bc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/AttributeNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/AttributeNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,8 +24,8 @@
  * INTERNAL
  * <p><b>Purpose</b>: Represent a attribute.
  *
- * <p><b>Responsibilities</b>:<ul>
- * </ul>
+ * <p><b>Responsibilities</b>:
+ *
  */
 public class AttributeNode extends Node {
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/DotNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/DotNode.java
index d318568..84f9c3a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/DotNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/DotNode.java
@@ -26,8 +26,8 @@
  * INTERNAL
  * <p><b>Purpose</b>: This node represents an 'DOT' (i.e. '.') on the input
  * stream. The left and right will depend on the input stream.
- * <p><b>Responsibilities</b>:<ul>
- * </ul>
+ * <p><b>Responsibilities</b>:
+ *
  *    @author Jon Driscoll and Joel Lucuik
  *    @since TopLink 4.0
  */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/HavingNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/HavingNode.java
index 04dd050..50e68e6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/HavingNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/HavingNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -13,6 +13,12 @@
 // Contributors:
 //     Oracle - initial API and implementation from Oracle TopLink
 
+package org.eclipse.persistence.internal.jpa.parsing;
+
+import org.eclipse.persistence.queries.ReportQuery;
+import org.eclipse.persistence.queries.ObjectLevelReadQuery;
+import org.eclipse.persistence.expressions.Expression;
+
 /**
  * INTERNAL
  * <p><b>Purpose</b>: This node represents a HAVING
@@ -20,12 +26,6 @@
  * <li> Generate the correct expression for HAVING
  * </ul>
  */
-package org.eclipse.persistence.internal.jpa.parsing;
-
-import org.eclipse.persistence.queries.ReportQuery;
-import org.eclipse.persistence.queries.ObjectLevelReadQuery;
-import org.eclipse.persistence.expressions.Expression;
-
 public class HavingNode extends MajorNode {
 
     private Node having = null;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/MajorNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/MajorNode.java
index 8361e5d..92f572c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/MajorNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/MajorNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -13,18 +13,18 @@
 // Contributors:
 //     Oracle - initial API and implementation from Oracle TopLink
 
+package org.eclipse.persistence.internal.jpa.parsing;
+
 /**
  * INTERNAL
  * <p><b>Purpose</b>: this is the superclass of the SELECT, FROM, WHERE and ORDER BY nodes
  * <p><b>Responsibilities</b>:<ul>
  * <li> Maintain a reference to the ParseTreeContext
- * <li>
+ * </ul>
  * User: jdriscol
  * Date: Nov 13, 2002
  * Time: 10:58:20 AM
  */
-package org.eclipse.persistence.internal.jpa.parsing;
-
 public class MajorNode extends Node {
     private ParseTreeContext context;
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/OrderByItemNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/OrderByItemNode.java
index bd84a17..bdb06a6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/OrderByItemNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/OrderByItemNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -13,6 +13,11 @@
 // Contributors:
 //     Oracle - initial API and implementation from Oracle TopLink
 
+package org.eclipse.persistence.internal.jpa.parsing;
+
+import org.eclipse.persistence.exceptions.JPQLException;
+import org.eclipse.persistence.expressions.Expression;
+
 /**
  * INTERNAL
  * <p><b>Purpose</b>: This node represents an ORDER BY item
@@ -22,11 +27,6 @@
  *    @author Jon Driscoll
  *    @since OracleAS TopLink 10<i>g</i> (9.0.4)
  */
-package org.eclipse.persistence.internal.jpa.parsing;
-
-import org.eclipse.persistence.exceptions.JPQLException;
-import org.eclipse.persistence.expressions.Expression;
-
 public class OrderByItemNode extends Node {
     private SortDirectionNode direction = null;
     private Object orderByItem = null;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/QueryNode.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/QueryNode.java
index 9b3086b..b77fe14 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/QueryNode.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/parsing/QueryNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -26,7 +26,7 @@
 public abstract class QueryNode extends MajorNode {
     private ParseTree parseTree;
 
-    public QueryNode() {
+    protected QueryNode() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/IDResolver.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/IDResolver.java
index 092c19d..4bd07e8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/IDResolver.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/IDResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -37,6 +37,12 @@
 public abstract class IDResolver {
 
     /**
+     * Default constructor.
+     */
+    protected IDResolver() {
+    }
+
+    /**
      * <p>
      * Resolve the object of Class <code>type</code>, uniquely identified by <code>id</code>.
      * </p>
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Marshaller.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Marshaller.java
index c99ddf1..a730986 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Marshaller.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Marshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -45,7 +45,7 @@
     private MARSHALLER_LISTENER marshalListener;
     protected Properties marshalProperties;
 
-    public Marshaller(CONTEXT context) {
+    protected Marshaller(CONTEXT context) {
         this.context = context;
         this.encoding = Constants.DEFAULT_XML_ENCODING;
         this.equalUsingIdenity = true;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/NamespacePrefixMapper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/NamespacePrefixMapper.java
index 1a2a75c..426c2e3 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/NamespacePrefixMapper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/NamespacePrefixMapper.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
@@ -22,6 +22,12 @@
 public abstract class NamespacePrefixMapper {
 
     /**
+     * Default constructor.
+     */
+    protected NamespacePrefixMapper() {
+    }
+
+    /**
      * Returns a string array of prefixes and namespace uris that are already available in
      * this context. Only required when marshalling to an output stream or a writer, since
      * it's not possible to determine which namespaces are already in scope.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/ReferenceResolver.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/ReferenceResolver.java
index 662cb02..7d4733b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/ReferenceResolver.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/ReferenceResolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -102,10 +102,10 @@
     /* Shows why the containers are not final. Keep this private method up here. */
     /**
      * Resets the references containers.
-     * <p/>
+     * <br>
      * PERF:
      * Allocating a new object may be faster than clearing old objects, especially in this case.
-     * <p/>
+     * <br>
      * As 'Stephen C' points out: ,,There are locality and cross-generational issues that could affect performance. When
      * you repeatedly recycle an ArrayList, the object and its backing array are likely to be tenured. That means that:
      * <pre>
@@ -115,7 +115,7 @@
      *     write barrier overheads ... depending on the GC implementation."
      * </pre>
      * from <a href="http://stackoverflow.com/questions/18370780/empty-an-arraylist-or-just-create-a-new-one-and-let-the-old-one-be-garbage-colle">Stack Overflow.</a>
-     * <p/>
+     * <br>
      * Taking last size can give approximate prediction of the next size.
      * Halving provides convergence and increases efficiency. Since the list will be empty after, it's efficient.
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Root.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Root.java
index bd23bf8..8101696 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Root.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Root.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
@@ -39,6 +39,12 @@
     protected boolean nil;
 
     /**
+     * Default constructor.
+     */
+    public Root() {
+    }
+
+    /**
      * Gets the object.  This may be null.
      *
      * @return the object
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Unmarshaller.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Unmarshaller.java
index 876bd78..ec67720 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Unmarshaller.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/Unmarshaller.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -36,7 +36,7 @@
     protected CONTEXT context;
     private UNMARSHALLER_LISTENER unmarshalListener;
 
-    public Unmarshaller(CONTEXT context) {
+    protected Unmarshaller(CONTEXT context) {
         this.context = context;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/VectorUtils.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/VectorUtils.java
index 36bdf56..2f7806f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/VectorUtils.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/VectorUtils.java
@@ -49,7 +49,7 @@
      * vectors.  Query operations on the returned vector "read through" to the
      * specified vector, and attempts to modify the returned vector, whether
      * direct or via its iterator, result in an
-     * <code>UnsupportedOperationException</code>.<p>
+     * <code>UnsupportedOperationException</code>.
      *
      * @param <T> the class of the objects in the vector
      * @param vector the vector for which an unmodifiable view is to be returned.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLChoiceCollectionMappingMarshalNodeValue.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLChoiceCollectionMappingMarshalNodeValue.java
index 3ec5e8b..c884e90 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLChoiceCollectionMappingMarshalNodeValue.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLChoiceCollectionMappingMarshalNodeValue.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -55,14 +55,10 @@
      *
      * It is used in getNodeValueForValue method. If we knew only class relationship to nodeValue,
      * there is no way how to say that this nodeValue is related to the first or second field (or any other field with given java class).
-     *
-     * @see AdapterWithElementsTestCases
-     *
-     *
-     * @author Martin Vojtek (martin.vojtek@oracle.com)
-     *
      */
     private static class FieldNodeValue {
+        //author Martin Vojtek (martin.vojtek@oracle.com)
+        //see AdapterWithElementsTestCases
         private final Field field;
         private final NodeValue nodeValue;
         public FieldNodeValue(Field field, NodeValue nodeValue) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLConversionManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLConversionManager.java
index ac0ff57..a1877be 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLConversionManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLConversionManager.java
@@ -1254,7 +1254,7 @@
      * This method returns a dateTime string representing a given
      * java.util.Date.
      *
-     * BC dates (sourceDate.getTime() < YEAR_ONE_AD_TIME) are handled
+     * BC dates {@code (sourceDate.getTime() < YEAR_ONE_AD_TIME)} are handled
      * as follows: '2007 BC' --> '-2006 AD'
      *
      * @param sourceDate
@@ -1419,7 +1419,7 @@
      * This method returns a dateTime string representing a given
      * Timestamp.
      *
-     * BC dates (sourceDate.getTime() < YEAR_ONE_AD_TIME) are handled
+     * BC dates {@code (sourceDate.getTime() < YEAR_ONE_AD_TIME)} are handled
      * as follows: '2007 BC' --> '-2006 AD'
      *
      * @param sourceDate
@@ -1451,7 +1451,7 @@
      * This method returns a string representing a given Timestamp
      * based on a given schema type QName.
      *
-     * BC dates (sourceDate.getTime() < YEAR_ONE_AD_TIME) are handled
+     * BC dates {@code (sourceDate.getTime() < YEAR_ONE_AD_TIME)} are handled
      * as follows: '2007 BC' --> '-2006 AD'.
      *
      * @param sourceDate
@@ -1894,7 +1894,7 @@
      * time to a given string.
      *
      * @param string
-     * @param time
+     * @param ts
      * @return
      */
     private String appendNanos(String string, Timestamp ts) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLMarshaller.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLMarshaller.java
index 6775b32..ba4e7fb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLMarshaller.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XMLMarshaller.java
@@ -150,7 +150,7 @@
     private Object marshalAttributeGroup;
     private Boolean logPayload;
 
-    public XMLMarshaller(CONTEXT context) {
+    protected XMLMarshaller(CONTEXT context) {
         super(context);
         this.includeRoot = true;
         this.marshalEmptyCollections = true;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XPathEngine.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XPathEngine.java
index 71cee9e..3608029 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XPathEngine.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/XPathEngine.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -168,7 +168,7 @@
     *
     * @return The last <code>XMLNode</code> in the path
     *
-    * @exception org.eclipse.persistence.oxm.exceptions.XMLMarshalException Thrown if passed an invalid XPath string
+    * @throws XMLMarshalException Thrown if passed an invalid XPath string
     */
     private NodeList createCollection(Field xmlField, Node element, Object value, Field lastUpdated, DocumentPreservationPolicy docPresPolicy, CoreAbstractSession session) throws XMLMarshalException {
         XMLNodeList createdElements = new XMLNodeList();
@@ -378,16 +378,14 @@
     * Will overwrite if an element already exists at that position.  Currently only supports
     * integer indices.
     *
-    * @param xpathString element and index to create (in the form 'element[index]')
-    * @param namespaceResolover namespaceResolover of the element being created
+    * @param fragment element and index to create (in the form 'element[index]')
     * @param parent Parent element
-    * @param schemaType schemaType for the new node
     * @param value Value for the new node
     * @param forceCreate If true, create a new element even if one with the same name currently exists
     *
     * @return The <code>XMLElement</code> that was created/found
     *
-    * @exception org.eclipse.persistence.oxm.exceptions.XMLMarshalException Thrown if passed an invalid XPath string
+    * @throws XMLMarshalException Thrown if passed an invalid XPath string
     */
     private Node addIndexedElement(XPathFragment fragment, Field xmlField, Node parent, Object value, boolean forceCreate, CoreAbstractSession session) throws XMLMarshalException {
         String element = fragment.getShortName();
@@ -434,7 +432,7 @@
     * Add a new <code>element</code> to the <code>parent</code> element.  If an element with
     * this name already exists, return it (unless <code>forceCreate</code> is <code>true</code>).
     *
-    * @param element Name of element to create
+    * @param fragment Name of element to create
     * @param parent Parent element
     * @param value Value for the new node
     * @param forceCreate If true, create a new element even if one with the same name currently exists
@@ -458,9 +456,7 @@
     * this name already exists, return it (unless <code>forceCreate</code> is <code>true</code>).
     *
     * @param fragment Name of element to create
-    * @param namespace namespace of element to create
     * @param parent Parent element
-    * @param schemaType schemaType of element to create
     * @param value Value for the new node
     * @param forceCreate If true, create a new element even if one with the same name currently exists
 
@@ -566,7 +562,7 @@
     * Creates a new Element and appends a value to an element.
     *
     * @param parent Element which will own the newly created element
-    * @param elementName tag name for the new element
+    * @param fragment tag name for the new element
     * @param value Object to add
     */
     private Node createElement(Node parent, XPathFragment fragment, Field xmlField, Object value, CoreAbstractSession session) {
@@ -650,7 +646,6 @@
     * for the value.
     *
     * @param elements NodeList which will have a type attribute added to them
-    * @param simpleTypeTranslator SimpleTypeTranslator to perform lookup in
     * @param value Object to base the lookup on
     * @param schemaInstancePrefix the prefix representing the schema instance namespace
     */
@@ -711,7 +706,7 @@
     * Creates a new Element and appends a value to an element.
     *
     * @param parent Element which will own the newly created element
-    * @param elementName tag name for the new element
+    * @param fragment tag name for the new element
     * @param value Node to add
     *
     */
@@ -760,7 +755,7 @@
     /**
     * Add a new attribute to an element.  If the attribute already exists, return the element.
     *
-    * @param attributeName Name of the attribute to add
+    * @param attributeFragment Name of the attribute to add
     * @param parent Element to create the attribute on
     * @param value Value for the new attribute
     *
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/documentpreservation/AbstractDocumentPreservationPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/documentpreservation/AbstractDocumentPreservationPolicy.java
index 4b51926..c73e15b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/documentpreservation/AbstractDocumentPreservationPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/documentpreservation/AbstractDocumentPreservationPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2019 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
@@ -25,7 +25,7 @@
     protected Map nodesToObjects;
     protected Map objectsToNodes;
 
-    public AbstractDocumentPreservationPolicy() {
+    protected AbstractDocumentPreservationPolicy() {
     }
 
     @Override
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/XMLReaderAdapter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/XMLReaderAdapter.java
index 130ca90..8274707 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/XMLReaderAdapter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/XMLReaderAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2019 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,11 +41,11 @@
     private ErrorHandler errorHandler;
     protected LexicalHandler lexicalHandler;
 
-    public XMLReaderAdapter() {
+    protected XMLReaderAdapter() {
         super();
     }
 
-    public XMLReaderAdapter(Unmarshaller xmlUnmarshaller) {
+    protected XMLReaderAdapter(Unmarshaller xmlUnmarshaller) {
         super();
         if(null != xmlUnmarshaller) {
             Schema schema = xmlUnmarshaller.getSchema();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/CompositeMappingContentHandler.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/CompositeMappingContentHandler.java
index 0714376..f9dda35 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/CompositeMappingContentHandler.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/CompositeMappingContentHandler.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
@@ -34,7 +34,7 @@
     protected XPathFragment xPathFragment;
     protected Descriptor xmlDescriptor;
 
-    public CompositeMappingContentHandler(UnmarshalRecord parentRecord, Mapping aMapping, Attributes atts, AbstractNullPolicy aNullPolicy, XPathFragment aFragment, Descriptor aDescriptor) {
+    protected CompositeMappingContentHandler(UnmarshalRecord parentRecord, Mapping aMapping, Attributes atts, AbstractNullPolicy aNullPolicy, XPathFragment aFragment, Descriptor aDescriptor) {
         super(parentRecord);
         mapping = aMapping;
         nullPolicy = aNullPolicy;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/DeferredContentHandler.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/DeferredContentHandler.java
index 6a4fe04..4f4a5ec 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/DeferredContentHandler.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/record/deferred/DeferredContentHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -40,7 +40,7 @@
     private boolean charactersOccurred;
     private boolean attributesOccurred;
 
-    public DeferredContentHandler(UnmarshalRecord parentRecord) {
+    protected DeferredContentHandler(UnmarshalRecord parentRecord) {
         levelIndex = 0;
         events = new ArrayList<>();
         this.parent = parentRecord;
@@ -103,7 +103,7 @@
         startOccurred = true;
     }
 
-    protected AttributeList buildAttributeList(Attributes attrs) throws SAXException {
+    protected Attributes buildAttributeList(Attributes attrs) throws SAXException {
         int attrsLength = attrs.getLength();
         AttributeList attributes = new AttributeList(attrsLength);
         for (int i = 0; i < attrsLength; i++) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/SimpleComponent.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/SimpleComponent.java
index c670cb5..6bb3fc6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/SimpleComponent.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/SimpleComponent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     private String form;
     private String ref;
 
-    public SimpleComponent() {
+    protected SimpleComponent() {
         attributesMap = new HashMap();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/TypeDefParticle.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/TypeDefParticle.java
index 0859126..338fa03 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/TypeDefParticle.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/schema/model/TypeDefParticle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     private java.util.List elements;
 
     //Group??
-    public TypeDefParticle() {
+    protected TypeDefParticle() {
     }
 
     public void addElement(Element elem) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ContainerPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ContainerPolicy.java
index d448954..e57f72e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ContainerPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ContainerPolicy.java
@@ -116,7 +116,7 @@
     /**
      * Default constructor.
      */
-    public ContainerPolicy() {
+    protected ContainerPolicy() {
     }
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/DatabaseQueryMechanism.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/DatabaseQueryMechanism.java
index a2bb82d..85b1e51 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/DatabaseQueryMechanism.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/DatabaseQueryMechanism.java
@@ -79,14 +79,14 @@
     /**
      * Initialize the state of the query.
      */
-    public DatabaseQueryMechanism() {
+    protected DatabaseQueryMechanism() {
     }
 
     /**
      * Initialize the state of the query
      * @param query - owner of mechanism
      */
-    public DatabaseQueryMechanism(DatabaseQuery query) {
+    protected DatabaseQueryMechanism(DatabaseQuery query) {
         this.query = query;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ExpressionQueryMechanism.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ExpressionQueryMechanism.java
index 2d14faf..1d1017b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ExpressionQueryMechanism.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/ExpressionQueryMechanism.java
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 1998, 2019 IBM and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 IBM 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
@@ -2581,7 +2581,7 @@
      * NOTE: A similar pattern also used in method prepareDeleteAll():
      *  if you are updating this method consider applying a similar update to that method as well.
      *
-     * @return Vector<SQLDeleteAllStatementForTempTable>
+     * @return {@code Vector<SQLDeleteAllStatementForTempTable>}
      */
     private Vector buildDeleteAllStatementsForTempTable(ClassDescriptor descriptor, DatabaseTable rootTable, List<DatabaseField> rootTablePrimaryKeyFields, Vector tablesToIgnore) {
         Vector statements = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/InterfaceContainerPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/InterfaceContainerPolicy.java
index e0dfb03..f22d869 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/InterfaceContainerPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/queries/InterfaceContainerPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -58,7 +58,7 @@
      * INTERNAL:
      * Construct a new policy.
      */
-    public InterfaceContainerPolicy() {
+    protected InterfaceContainerPolicy() {
         super();
     }
 
@@ -66,7 +66,7 @@
      * INTERNAL:
      * Construct a new policy for the specified class.
      */
-    public InterfaceContainerPolicy(Class containerClass) {
+    protected InterfaceContainerPolicy(Class containerClass) {
         setContainerClass(containerClass);
     }
 
@@ -74,7 +74,7 @@
      * INTERNAL:
      * Construct a new policy for the specified class name.
      */
-    public InterfaceContainerPolicy(String containerClassName) {
+    protected InterfaceContainerPolicy(String containerClassName) {
         setContainerClassName(containerClassName);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingLogInOut.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingLogInOut.java
index 1dce5b5..42278bf 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingLogInOut.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sequencing/SequencingLogInOut.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -18,7 +18,7 @@
 /**
  * <p>
  * <b>Purpose</b>: Simple interface inherited by several sequencing interfaces and classes
- * <p>
+ *
  */
 interface SequencingLogInOut {
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
index ef0d0e5..b234382 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      * INTERNAL:
      *  converts JDBC results to collections of rows.
      */
-    public AbstractRecord() {
+    protected AbstractRecord() {
         this.fields = new NonSynchronizedVector();
         this.values = new NonSynchronizedVector();
         this.size = 0;
@@ -83,7 +83,7 @@
      * INTERNAL:
      *  converts JDBC results to collections of rows.
      */
-    public AbstractRecord(int initialCapacity) {
+    protected AbstractRecord(int initialCapacity) {
         this.fields = new NonSynchronizedVector(initialCapacity);
         this.values = new NonSynchronizedVector(initialCapacity);
         this.size = 0;
@@ -94,7 +94,7 @@
      * INTERNAL:
      *  converts JDBC results to collections of rows.
      */
-    public AbstractRecord(Vector fields, Vector values) {
+    protected AbstractRecord(Vector fields, Vector values) {
         this.fields = fields;
         this.values = values;
         this.nullValueInFields = false;
@@ -105,7 +105,7 @@
      * INTERNAL:
      *  converts JDBC results to collections of rows.
      */
-    public AbstractRecord(Vector fields, Vector values, int size) {
+    protected AbstractRecord(Vector fields, Vector values, int size) {
         this.fields = fields;
         this.values = values;
         this.nullValueInFields = false;
@@ -429,6 +429,12 @@
      * Defines the virtual keySet.
      */
     protected class KeySet extends EntrySet {
+        /**
+         * Default constructor.
+         */
+        public KeySet() {
+        }
+
         @Override
         public Iterator iterator() {
             return new RecordKeyIterator();
@@ -447,6 +453,12 @@
      * Defines the virtual valuesSet.
      */
     protected class ValuesSet extends EntrySet {
+        /**
+         * Default constructor.
+         */
+        public ValuesSet() {
+        }
+
         @Override
         public Iterator iterator() {
             return new RecordValuesIterator();
@@ -470,6 +482,13 @@
      * Defines the virtual entrySet.
      */
     protected class EntrySet extends AbstractSet {
+        /**
+         * Default constructor.
+         */
+        public EntrySet() {
+            super();
+        }
+
         @Override
         public Iterator iterator() {
             return new RecordEntryIterator();
@@ -536,6 +555,12 @@
      * Defines the virtual keySet iterator.
      */
     protected class RecordKeyIterator extends RecordEntryIterator {
+        /**
+         * Default constructor.
+         */
+        public RecordKeyIterator() {
+        }
+
         @Override
         public Object next() {
             if (!hasNext()) {
@@ -550,6 +575,12 @@
      * Defines the virtual valuesSet iterator.
      */
     protected class RecordValuesIterator extends RecordEntryIterator {
+        /**
+         * Default constructor.
+         */
+        public RecordValuesIterator() {
+        }
+
         @Override
         public Object next() {
             if (!hasNext()) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractSession.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractSession.java
index b5fb3f1..07b27b6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractSession.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/AbstractSession.java
@@ -380,7 +380,7 @@
      * method may also be used to connect the session, this allows for the user name and password
      * to be given at login but for the other database information to be provided when the session is created.
      */
-    public AbstractSession(Login login) {
+    protected AbstractSession(Login login) {
         this(new org.eclipse.persistence.sessions.Project(login));
     }
 
@@ -392,7 +392,7 @@
      * method may also be used to connect the session, this allows for the user name and password
      * to be given at login but for the other database information to be provided when the session is created.
      */
-    public AbstractSession(org.eclipse.persistence.sessions.Project project) {
+    protected AbstractSession(org.eclipse.persistence.sessions.Project project) {
         this();
         this.project = project;
         if (project.getDatasourceLogin() == null) {
@@ -789,7 +789,7 @@
                 ++retryCount;
                 try {
                     // Give the failover time to recover.
-                    Thread.currentThread().sleep(getLogin().getDelayBetweenConnectionAttempts());
+                    Thread.sleep(getLogin().getDelayBetweenConnectionAttempts());
                     Object[] args = new Object[1];
                     args[0] = exceptionToThrow;
                     log(SessionLog.INFO, SessionLog.TRANSACTION, "communication_failure_attempting_begintransaction_retry", args, null);
@@ -1910,7 +1910,7 @@
                     if (retryCount > 1) {
                         // We are retrying more than once lets wait to give connection time to restart.
                         //Give the failover time to recover.
-                        Thread.currentThread().sleep(getLogin().getDelayBetweenConnectionAttempts());
+                        Thread.sleep(getLogin().getDelayBetweenConnectionAttempts());
                     }
                     return executionSession.executeQuery(query, row, retryCount);
                 } catch (DatabaseException newException){
@@ -2261,7 +2261,7 @@
      * chained and each session can have its own Cache/IdentityMap.  Entities can be stored
      * at different levels based on Cache Isolation.  This method will return the correct Session
      * for a particular Entity class based on the Isolation Level and the attributes provided.
-     * <p>
+     *
      * @param canReturnSelf true when method calls itself.  If the path
      * starting at <code>this</code> is acceptable.  Sometimes true if want to
      * move to the first valid session, i.e. executing on ClientSession when really
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
index b0becb8..4c2a7ce 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DatabaseSessionImpl.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2015, 2020 IBM Corporation. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 IBM Corporation. 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
@@ -1084,7 +1084,7 @@
                 // database error.
                 try {
                     // Give the failover time to recover.
-                    Thread.currentThread().sleep(getLogin().getDelayBetweenConnectionAttempts());
+                    Thread.sleep(getLogin().getDelayBetweenConnectionAttempts());
                     Object[] args = new Object[1];
                     args[0] = ex;
                     log(SessionLog.INFO, SessionLog.QUERY, "communication_failure_attempting_query_retry", args, null);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DeferrableChangeRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DeferrableChangeRecord.java
index b852a45..2f67b05 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DeferrableChangeRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/DeferrableChangeRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -39,11 +39,11 @@
      */
     protected boolean isDeferred = false;
 
-    public DeferrableChangeRecord() {
+    protected DeferrableChangeRecord() {
         super();
     }
 
-    public DeferrableChangeRecord(ObjectChangeSet owner) {
+    protected DeferrableChangeRecord(ObjectChangeSet owner) {
         this.owner = owner;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSession.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSession.java
index 502d6f2..3f019e7 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSession.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/IsolatedClientSession.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      * chained and each session can have its own Cache/IdentityMap.  Entities can be stored
      * at different levels based on Cache Isolation.  This method will return the correct Session
      * for a particular Entity class based on the Isolation Level and the attributes provided.
-     * <p>
+     *
      * @param canReturnSelf true when method calls itself.  If the path
      * starting at <code>this</code> is acceptable.  Sometimes true if want to
      * move to the first valid session, i.e. executing on ClientSession when really
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkImpl.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkImpl.java
index 0fa6628..bff16a0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkImpl.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/UnitOfWorkImpl.java
@@ -2154,7 +2154,7 @@
      * chained and each session can have its own Cache/IdentityMap.  Entities can be stored
      * at different levels based on Cache Isolation.  This method will return the correct Session
      * for a particular Entity class based on the Isolation Level and the attributes provided.
-     * <p>
+     *
      * @param canReturnSelf true when method calls itself.  If the path
      * starting at <code>this</code> is acceptable.  Sometimes true if want to
      * move to the first valid session, i.e. executing on ClientSession when really
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/RemoteConnection.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/RemoteConnection.java
index 2aa47e1..f4861b3 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/RemoteConnection.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/RemoteConnection.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -36,6 +36,12 @@
     protected ServiceId serviceId;
 
     /**
+     * Default constructor.
+     */
+    protected RemoteConnection() {
+    }
+
+    /**
      * INTERNAL:
      * Execute the remote command. The result of execution is returned.
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/broadcast/BroadcastRemoteConnection.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/broadcast/BroadcastRemoteConnection.java
index aee0d3b..942b83b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/broadcast/BroadcastRemoteConnection.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/coordination/broadcast/BroadcastRemoteConnection.java
@@ -55,7 +55,7 @@
     // (so that a new array is not created each time).
     protected Object[] infoExt;
 
-    public BroadcastRemoteConnection(RemoteCommandManager rcm) {
+    protected BroadcastRemoteConnection(RemoteCommandManager rcm) {
         this.serviceId = rcm.getServiceId();
         this.rcm = rcm;
         this.topicName = ((BroadcastTransportManager)rcm.getTransportManager()).getTopicName();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/NamespaceResolvableProject.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/NamespaceResolvableProject.java
index 2c32f9e..6688fc4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/NamespaceResolvableProject.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/NamespaceResolvableProject.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -45,14 +45,14 @@
     protected NamespaceResolverWithPrefixes ns;
     protected QName fieldQname;
 
-    public NamespaceResolvableProject() {
+    protected NamespaceResolvableProject() {
         super();
         fieldQname = new QName(getSecondaryNamespace(), "field");
         buildNamespaceResolver();
         buildDescriptors();
         setNamespaceResolverOnDescriptors();
     }
-    public NamespaceResolvableProject(NamespaceResolverWithPrefixes ns) {
+    protected NamespaceResolvableProject(NamespaceResolverWithPrefixes ns) {
         super();
         fieldQname = new QName(getSecondaryNamespace(), "field");
         this.ns = ns;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/ObjectPersistenceRuntimeXMLProject_11_1_1.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/ObjectPersistenceRuntimeXMLProject_11_1_1.java
index f6541a7..8734e4d 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/ObjectPersistenceRuntimeXMLProject_11_1_1.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/ObjectPersistenceRuntimeXMLProject_11_1_1.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -735,7 +735,7 @@
     /**
      * <p>
      * <b>Purpose</b>: helper classes - represent stored procedure arguments in XML
-     * <p>
+     *
      *
      * @author Kyle Chen
      * @since 11
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java
index 5973f9f..f2940cc 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/SessionsFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -999,7 +999,7 @@
             try {
                 // Can no longer reference class directly as in a different project.
                 Class xmlClass = Class.forName("org.eclipse.persistence.eis.adapters.xmlfile.XMLFileSequence");
-                Sequence sequence = (Sequence)xmlClass.newInstance();
+                Sequence sequence = (Sequence)xmlClass.getConstructor().newInstance();
                 sequence.setName(name);
                 sequence.setInitialValue(size);
                 return sequence;
@@ -1239,7 +1239,7 @@
             // use ConversionManager to avoid loading the JDK 1.4 class unless it is needed.
             ConversionManager conversionManager = new ConversionManager();
             conversionManager.setLoader(getClass().getClassLoader());
-            javaLog = (SessionLog)((Class)conversionManager.convertObject("org.eclipse.persistence.logging.JavaLog", Class.class)).newInstance();
+            javaLog = (SessionLog)((Class)conversionManager.convertObject("org.eclipse.persistence.logging.JavaLog", Class.class)).getConstructor().newInstance();
             javaLog.setSession(session);
         } catch (Exception exception) {
             throw ValidationException.unableToLoadClass("org.eclipse.persistence.logging.JavaLog", exception);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/XMLSessionConfigWriter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/XMLSessionConfigWriter.java
index 53d26a2..5d55af0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/XMLSessionConfigWriter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/XMLSessionConfigWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
  * to XML.
  */
 public class XMLSessionConfigWriter {
-    public XMLSessionConfigWriter() {
+    private XMLSessionConfigWriter() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/log/LogConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/log/LogConfig.java
index 4b8e648..b7e2788 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/log/LogConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/log/LogConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +21,7 @@
 public abstract class LogConfig {
     private LoggingOptionsConfig m_loggingOptions;
 
-    public LogConfig() {
+    protected LogConfig() {
     }
 
     public void setLoggingOptions(LoggingOptionsConfig loggingOptions) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/login/LoginConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/login/LoginConfig.java
index 3f3eb41..6cd0048 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/login/LoginConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/login/LoginConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     private SequencingConfig m_sequencingConfig;
     private Vector m_propertyConfigs;
 
-    public LoginConfig() {
+    protected LoginConfig() {
         // Without setting the encryption class name the object holder will
         // default to JCE.
         m_securableObjectHolder = new SecurableObjectHolder();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/platform/ServerPlatformConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/platform/ServerPlatformConfig.java
index 5f28855..e0e6d88 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/platform/ServerPlatformConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/platform/ServerPlatformConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,11 +24,11 @@
     private String m_serverClassName;
     protected boolean isSupported;
 
-    public ServerPlatformConfig() {
+    protected ServerPlatformConfig() {
         isSupported = true;
     }
 
-    public ServerPlatformConfig(String serverClassName) {
+    protected ServerPlatformConfig(String serverClassName) {
         this();
         m_serverClassName = serverClassName;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/session/SessionConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/session/SessionConfig.java
index f12862d..91d92b0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/session/SessionConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/session/SessionConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,7 +33,7 @@
     private LogConfig m_logConfig;
     private String m_sessionCustomizerClass;
 
-    public SessionConfig() {
+    protected SessionConfig() {
     }
 
     public void setName(String name) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/transport/TransportManagerConfig.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/transport/TransportManagerConfig.java
index 79b6226..49474d0 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/transport/TransportManagerConfig.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/sessions/factories/model/transport/TransportManagerConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +21,7 @@
 public abstract class TransportManagerConfig {
     private String m_onConnectionError;
 
-    public TransportManagerConfig() {
+    protected TransportManagerConfig() {
     }
 
     public void setOnConnectionError(String onConnectionError) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/AbstractSessionLog.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/AbstractSessionLog.java
index a9c98b8..3718329 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/AbstractSessionLog.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/AbstractSessionLog.java
@@ -183,7 +183,7 @@
      * PUBLIC:
      * Create a new AbstractSessionLog
      */
-    public AbstractSessionLog() {
+    protected AbstractSessionLog() {
         this.writer = new PrintWriter(System.out);
         this.level = getDefaultLoggingLevel();
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/DefaultSessionLog.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/DefaultSessionLog.java
index fc727d0..747f0f9 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/DefaultSessionLog.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/DefaultSessionLog.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -100,7 +100,6 @@
     /**
      * Check if a message of the given level would actually be logged by the
      * logger with name space built from the given session and category.
-     * <p>
      *
      * @return true if the given message level will be logged for the given
      *         category
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/JavaLog.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/JavaLog.java
index 6dfb262..8ad1f09 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/JavaLog.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/JavaLog.java
@@ -60,12 +60,12 @@
     private Map nameSpaceMap  = new HashMap();
 
     /**
-     * Stores the namespace for session, i.e."org.eclipse.persistence.session.<sessionname>".
+     * Stores the namespace for session, i.e."{@code org.eclipse.persistence.session.<sessionname>}".
      */
     private String sessionNameSpace;
 
     /**
-     * Stores the Logger for session namespace, i.e. "org.eclipse.persistence.session.<sessionname>".
+     * Stores the Logger for session namespace, i.e. "{@code org.eclipse.persistence.session.<sessionname>}".
      */
     private Logger sessionLogger;
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/LogFormatter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/LogFormatter.java
index 36ab616..ef3f14f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/LogFormatter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/LogFormatter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 @@
                             pw.write(lineSeparator);
                         }
                     }
-                    pw.close();
                     sb.append(sw.toString());
                 }
             }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/XMLLogFormatter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/XMLLogFormatter.java
index f725ebe..45b2199 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/XMLLogFormatter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/logging/XMLLogFormatter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -26,6 +26,13 @@
  */
 @SuppressWarnings("deprecation")
 public class XMLLogFormatter extends XMLFormatter {
+    /**
+     * Default constructor.
+     */
+    public XMLLogFormatter() {
+        super();
+    }
+
     // Append a two digit number.
     private void a2(StringBuffer sb, int x) {
         if (x < 10) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateMapping.java
index 5b974ea..f253db1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AggregateMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -76,7 +76,7 @@
     /**
      * Default constructor.
      */
-    public AggregateMapping() {
+    protected AggregateMapping() {
         super();
         this.setWeight(WEIGHT_AGGREGATE);
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AttributeAccessor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AttributeAccessor.java
index b2d8601..1ae5014 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AttributeAccessor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/AttributeAccessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -37,6 +37,12 @@
     protected boolean isReadOnly = false;
 
     /**
+     * Default constructor.
+     */
+    protected AttributeAccessor() {
+    }
+
+    /**
      * INTERNAL:
      * Clones itself.
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/CollectionMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/CollectionMapping.java
index 47f9e7d..6ed661e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/CollectionMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/CollectionMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -91,7 +91,7 @@
      * PUBLIC:
      * Default constructor.
      */
-    public CollectionMapping() {
+    protected CollectionMapping() {
         this.selectionQuery = new ReadAllQuery();
         this.hasCustomDeleteAllQuery = false;
         this.containerPolicy = ContainerPolicy.buildDefaultPolicy();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/DatabaseMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/DatabaseMapping.java
index 0206774..01c3f0e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/DatabaseMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/DatabaseMapping.java
@@ -204,7 +204,7 @@
      * PUBLIC:
      * Default constructor.
      */
-    public DatabaseMapping() {
+    protected DatabaseMapping() {
         this.isOptional = true;
         this.isReadOnly = false;
         this.attributeAccessor = new InstanceVariableAttributeAccessor();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/PropertyAssociation.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/PropertyAssociation.java
index b690c65..2fbc4af 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/PropertyAssociation.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/PropertyAssociation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,4 +24,14 @@
  */
 public class PropertyAssociation extends Association {
 
+    /**
+     * Default constructor.
+     */
+    public PropertyAssociation() {
+        super();
+    }
+
+    public PropertyAssociation(Object key, Object value) {
+        super(key, value);
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/converters/SerializedObjectConverter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/converters/SerializedObjectConverter.java
index c1b0de8..5ad8bce 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/converters/SerializedObjectConverter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/converters/SerializedObjectConverter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -101,7 +101,7 @@
                 } else {
                     serializerClass = PrivilegedAccessHelper.getClassForName(this.serializerClassName, true, classLoader);
                 }
-                this.serializer = (Serializer)serializerClass.newInstance();
+                this.serializer = (Serializer)serializerClass.getConstructor().newInstance();
             }
         } catch (Exception exception){
             throw ValidationException.classNotFoundWhileConvertingClassNames(this.serializerClassName, exception);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractColumnMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractColumnMapping.java
index fa67659..d010594 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractColumnMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractColumnMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -73,7 +73,7 @@
     /**
      * Default constructor.
      */
-    public AbstractColumnMapping() {
+    protected AbstractColumnMapping() {
         super();
         this.setWeight(WEIGHT_DIRECT);
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeCollectionMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeCollectionMapping.java
index eed6d12..08d01d6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeCollectionMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeCollectionMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
     /**
      * Default constructor.
      */
-    public AbstractCompositeCollectionMapping() {
+    protected AbstractCompositeCollectionMapping() {
         super();
         this.containerPolicy = ContainerPolicy.buildDefaultPolicy();
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeDirectCollectionMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeDirectCollectionMapping.java
index f482a41..e0d03c1 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeDirectCollectionMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeDirectCollectionMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -61,7 +61,7 @@
     /**
      * Default constructor.
      */
-    public AbstractCompositeDirectCollectionMapping() {
+    protected AbstractCompositeDirectCollectionMapping() {
         super();
         this.containerPolicy = ContainerPolicy.buildDefaultPolicy();
         this.elementDataTypeName = "";
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeObjectMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeObjectMapping.java
index 0cff41d..465f645 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeObjectMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractCompositeObjectMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -50,7 +50,7 @@
     /**
      * Default constructor.
      */
-    public AbstractCompositeObjectMapping() {
+    protected AbstractCompositeObjectMapping() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractDirectMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractDirectMapping.java
index 2d5ff4e..740a957 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractDirectMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractDirectMapping.java
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 1998, 2020 IBM Corporation. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 IBM Corporation. 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 @@
     /**
      * Default constructor.
      */
-    public AbstractDirectMapping() {
+    protected AbstractDirectMapping() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
index 6502211..577983e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/foundation/AbstractTransformationMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -110,7 +110,7 @@
      * PUBLIC:
      * Default constructor.
      */
-    public AbstractTransformationMapping() {
+    protected AbstractTransformationMapping() {
         fieldTransformations = new ArrayList();
         fieldToTransformers = new ArrayList();
         setIsMutable(true);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/OneToOneQueryKey.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/OneToOneQueryKey.java
index 04cb3df..6c16942 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/OneToOneQueryKey.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/OneToOneQueryKey.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,14 @@
  * </p>
  */
 public class OneToOneQueryKey extends ForeignReferenceQueryKey {
+
+    /**
+     * Default constructor.
+     */
+    public OneToOneQueryKey() {
+        super();
+    }
+
     // CR#2466 removed joinCriteria because it is already in ForeignReferenceQueryKey - TW
 
     /**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/QueryKey.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/QueryKey.java
index c6bc978..af1cac8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/QueryKey.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/querykeys/QueryKey.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,6 +33,12 @@
     protected ClassDescriptor descriptor;
 
     /**
+     * Default constructor.
+     */
+    public QueryKey() {
+    }
+
+    /**
      * INTERNAL:
      * Clones itself.
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
index 57685dc..1769e4e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/mappings/transformers/AttributeTransformerAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 +28,13 @@
  *  @since   10
  */
 public class AttributeTransformerAdapter implements AttributeTransformer {
+
+    /**
+     * Default constructor.
+     */
+    public AttributeTransformerAdapter() {
+    }
+
     @Override
     public void initialize(AbstractTransformationMapping mapping) {
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/IDResolver.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/IDResolver.java
index 3af1fd7..649eecb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/IDResolver.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/IDResolver.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
@@ -32,4 +32,10 @@
  */
 public abstract class IDResolver extends org.eclipse.persistence.internal.oxm.IDResolver {
 
+    /**
+     * Default constructor.
+     */
+    protected IDResolver() {
+        super();
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/NamespacePrefixMapper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/NamespacePrefixMapper.java
index c26dc5e..3916d17 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/NamespacePrefixMapper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/NamespacePrefixMapper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 +22,13 @@
 public abstract class NamespacePrefixMapper extends org.eclipse.persistence.internal.oxm.NamespacePrefixMapper {
 
     /**
+     * Default constructor.
+     */
+    protected NamespacePrefixMapper() {
+        super();
+    }
+
+    /**
      * Return true if this prefix mapper applies to the media type provided.
      */
     public boolean supportsMediaType(MediaType mediaType) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/XMLRoot.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/XMLRoot.java
index 4ed91fb..3bd5744 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/XMLRoot.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/XMLRoot.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,4 +27,10 @@
  */
 public class XMLRoot extends Root {
 
+    /**
+     * Default constructor.
+     */
+    public XMLRoot() {
+        super();
+    }
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/DocumentPreservationPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/DocumentPreservationPolicy.java
index 704d49d..a2cae9a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/DocumentPreservationPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/DocumentPreservationPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -37,6 +37,12 @@
     private NodeOrderingPolicy nodeOrderingPolicy;
 
     /**
+     * Default constructor.
+     */
+    protected DocumentPreservationPolicy() {
+    }
+
+    /**
      * PUBLIC:
      * Sets the NodeOrderingPolicy to be used by this DocumentPreservationPolicy
      * when adding new elements into a cached XML Document.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/NodeOrderingPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/NodeOrderingPolicy.java
index c763841..19805b2 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/NodeOrderingPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/documentpreservation/NodeOrderingPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -26,6 +26,12 @@
  */
 public abstract class NodeOrderingPolicy {
 
+    /**
+     * Default constructor.
+     */
+    protected NodeOrderingPolicy() {
+    }
+
     public abstract void appendNode(Node parent, Node newChild, Node previousSibling);
 
 }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeCollectionMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeCollectionMapping.java
index 54b4b33..3858182 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeCollectionMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeCollectionMapping.java
@@ -551,7 +551,7 @@
                 NodeList children = ((DOMRecord)nestedRow).getDOM().getChildNodes();
                 for(int i=0; i< children.getLength(); i++){
                     Node nextNode = children.item(i);
-                    if(nextNode.getNodeType() == nextNode.ELEMENT_NODE){
+                    if(nextNode.getNodeType() == Node.ELEMENT_NODE){
                         //complex child
                         String type = ((Element) ((DOMRecord)nestedRow).getDOM()).getAttributeNS(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, XMLConstants.SCHEMA_TYPE_ATTRIBUTE);
                         if(type != null && type.length() > 0) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeObjectMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeObjectMapping.java
index 26ce16a..2c47a84 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeObjectMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLCompositeObjectMapping.java
@@ -538,7 +538,7 @@
                 NodeList children = nestedRow.getDOM().getChildNodes();
                 for(int i=0, childrenLength=children.getLength(); i<childrenLength ; i++){
                     Node nextNode = children.item(i);
-                    if(nextNode.getNodeType() == nextNode.ELEMENT_NODE){
+                    if(nextNode.getNodeType() == Node.ELEMENT_NODE){
                         //complex child
                         String type = ((Element) nestedRow.getDOM()).getAttributeNS(javax.xml.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, XMLConstants.SCHEMA_TYPE_ATTRIBUTE);
                         if(type != null && type.length() > 0) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathCollectionMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathCollectionMapping.java
index f095298..1dd4c22 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathCollectionMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathCollectionMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -49,6 +49,13 @@
 
     private boolean isAttribute;
 
+    /**
+     * Default constructor.
+     */
+    public XMLVariableXPathCollectionMapping() {
+        super();
+    }
+
     @Override
     public void initialize(AbstractSession session) throws DescriptorException {
        super.initialize(session);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathObjectMapping.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathObjectMapping.java
index d92cf6f..c84fcc4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathObjectMapping.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/XMLVariableXPathObjectMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,8 +72,9 @@
                 getConverter().initialize(this, session);
             }
         }
-        if(null != getContainerAccessor()) {
-            getContainerAccessor().initializeAttributes(this.referenceClass);
+        final XMLInverseReferenceMapping inverseReferenceMapping = getInverseReferenceMapping();
+        if (null != inverseReferenceMapping && null != inverseReferenceMapping.getAttributeAccessor()) {
+            inverseReferenceMapping.getAttributeAccessor().initializeAttributes(this.referenceClass);
         }
 
         if(variableAttributeName != null){
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/nullpolicy/AbstractNullPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/nullpolicy/AbstractNullPolicy.java
index e22077f..2209a84 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/nullpolicy/AbstractNullPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/mappings/nullpolicy/AbstractNullPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -127,6 +127,12 @@
     protected XMLNullRepresentationType marshalNullRepresentation = XMLNullRepresentationType.ABSENT_NODE;
 
     /**
+     * Default constructor.
+     */
+    protected AbstractNullPolicy() {
+    }
+
+    /**
      * Get the enum that determines what XML to write when a null value is encountered.
      */
     public XMLNullRepresentationType getMarshalNullRepresentation() {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/MarshalRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/MarshalRecord.java
index a71fceb..a86dda4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/MarshalRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/MarshalRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -78,7 +78,7 @@
     protected static final String TRUE = "true";
 
 
-    public MarshalRecord() {
+    protected MarshalRecord() {
         super(null);
         namespaceResolver = new NamespaceResolver();
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/XMLRecord.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/XMLRecord.java
index 6412d9f..84dab0a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/XMLRecord.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/oxm/record/XMLRecord.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -62,7 +62,7 @@
      */
     public static final XMLRecord.Nil NIL = org.eclipse.persistence.internal.oxm.record.XMLRecord.NIL;
 
-    public XMLRecord() {
+    protected XMLRecord() {
         super(null, null, 0);
         abstractMarshalRecord = new AbstractMarshalRecordImpl(this);
         // Required for subclasses.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
index 72def3b..eb22a99 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/database/DB2Platform.java
@@ -560,8 +560,7 @@
 
     /**
      * INTERNAL:
-     * The Concat operator is of the form .... VARCHAR ( <operand1> ||
-     * <operand2> )
+     * The Concat operator is of the form {@code .... VARCHAR ( <operand1> || <operand2> )}
      */
     private ExpressionOperator concatOperator() {
         ExpressionOperator exOperator = new ExpressionOperator();
@@ -579,7 +578,7 @@
 
     /**
      * INTERNAL:
-     * The 2 arg LTRIM operator is of the form .... TRIM (LEADING, <operand2> FROM <operand1> )
+     * The 2 arg LTRIM operator is of the form {@code .... TRIM (LEADING, <operand2> FROM <operand1> )}
      */
     private ExpressionOperator ltrim2Operator() {
         ExpressionOperator operator = new ExpressionOperator();
@@ -601,7 +600,7 @@
 
     /**
      * INTERNAL:
-     * The 2 arg RTRIM operator is of the form .... TRIM (TRAILING, <operand2> FROM <operand1> )
+     * The 2 arg RTRIM operator is of the form {@code .... TRIM (TRAILING, <operand2> FROM <operand1> )}
      */
     private ExpressionOperator rtrim2Operator() {
         ExpressionOperator operator = new ExpressionOperator();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java
index b19f7db..c054ff6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/JMXServerPlatformBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2010, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -147,7 +147,7 @@
      *
      * @param newDatabaseSession The instance of DatabaseSession that I am helping.
      */
-    public JMXServerPlatformBase(DatabaseSession newDatabaseSession) {
+    protected JMXServerPlatformBase(DatabaseSession newDatabaseSession) {
         super(newDatabaseSession);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
index cae3452..ef53085 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -152,7 +152,7 @@
      * @param newDatabaseSession
      *            The instance of DatabaseSession that I am helping.
      */
-    public ServerPlatformBase(DatabaseSession newDatabaseSession) {
+    protected ServerPlatformBase(DatabaseSession newDatabaseSession) {
         this.isJTAEnabled = true;
         // Default JMX support to false for all sub-platforms except those that override this flag
         this.isRuntimeServicesEnabled = isRuntimeServicesEnabledDefault();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java
index 6e5f7d3..0d5cd16 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/platform/server/ServerPlatformUtils.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2015 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -54,6 +54,10 @@
     private static final String UNKNOWN_MARKER = "UNKNOWN";
     private static String SERVER_PLATFORM_CLS;
 
+    private ServerPlatformUtils() {
+        // no instance please
+    }
+
     /**
      * @param session
      * @return The target-server class string that represents platform that is
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/Cursor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/Cursor.java
index 4f6499e..4d2617e 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/Cursor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/Cursor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -74,14 +74,14 @@
      * INTERNAL:
      * Default constructor.
      */
-    public Cursor() {
+    protected Cursor() {
         super();
     }
 
     /**
      * INTERNAL:
      */
-    public Cursor(DatabaseCall call, CursorPolicy policy) {
+    protected Cursor(DatabaseCall call, CursorPolicy policy) {
         ReadQuery query = policy.getQuery();
         this.query = query;
         this.session = query.getSession();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/CursorPolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/CursorPolicy.java
index 8b521b3..b44f7bd 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/CursorPolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/CursorPolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,7 +33,7 @@
      * INTERNAL:
      * default constructor
      */
-    public CursorPolicy() {
+    protected CursorPolicy() {
         super();
         setPageSize(10);
     }
@@ -41,7 +41,7 @@
     /**
      * INTERNAL:
      */
-    public CursorPolicy(ReadQuery query, int pageSize) {
+    protected CursorPolicy(ReadQuery query, int pageSize) {
         super();
         setQuery(query);
         setPageSize(pageSize);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
index 36c5d35..88116d7 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/DatabaseQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -339,7 +339,7 @@
     /**
      * PUBLIC: Initialize the state of the query
      */
-    public DatabaseQuery() {
+    protected DatabaseQuery() {
         this.shouldMaintainCache = true;
         // bug 3524620: lazy-init query mechanism
         // this.queryMechanism = new ExpressionQueryMechanism(this);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyAllQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyAllQuery.java
index 6fb35cb..4a786a9 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyAllQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyAllQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -57,7 +57,7 @@
     /**
      * PUBLIC:
      */
-    public ModifyAllQuery() {
+    protected ModifyAllQuery() {
         super();
         shouldDeferExecutionInUOW = true;
     }
@@ -66,7 +66,7 @@
      * PUBLIC:
      * Create a new update all query for the class specified.
      */
-    public ModifyAllQuery(Class referenceClass) {
+    protected ModifyAllQuery(Class referenceClass) {
         this();
         setReferenceClass(referenceClass);
     }
@@ -76,7 +76,7 @@
      * Create a new update all query for the class and the selection criteria
      * specified.
      */
-    public ModifyAllQuery(Class referenceClass, Expression selectionCriteria) {
+    protected ModifyAllQuery(Class referenceClass, Expression selectionCriteria) {
         this();
         setReferenceClass(referenceClass);
         setSelectionCriteria(selectionCriteria);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyQuery.java
index 62b0c80..b8c44df 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ModifyQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -37,6 +37,12 @@
     protected boolean isBatchExecutionSupported = true;
 
     /**
+     * Default constructor.
+     */
+    protected ModifyQuery() {
+    }
+
+    /**
      * INTERNAL:
      * Return the modify row
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectBuildingQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectBuildingQuery.java
index 6e891da..cf1f93f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectBuildingQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectBuildingQuery.java
@@ -107,7 +107,7 @@
      * INTERNAL:
      * Initialize the state of the query
      */
-    public ObjectBuildingQuery() {
+    protected ObjectBuildingQuery() {
         this.shouldRefreshIdentityMapResult = false;
         this.isCacheCheckComplete = false;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelModifyQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelModifyQuery.java
index bb73b4c..22f8359 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelModifyQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelModifyQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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 @@
      * PUBLIC:
      * Initialize the state of the query.
      */
-    public ObjectLevelModifyQuery() {
+    protected ObjectLevelModifyQuery() {
         this.cascadePolicy = CascadePrivateParts;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelReadQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelReadQuery.java
index 48bc134..3e8db6b 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelReadQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ObjectLevelReadQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2018 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -247,7 +247,7 @@
      * INTERNAL:
      * Initialize the state of the query
      */
-    public ObjectLevelReadQuery() {
+    protected ObjectLevelReadQuery() {
         this.shouldRefreshIdentityMapResult = false;
         this.distinctState = UNCOMPUTED_DISTINCT;
         this.cacheUsage = UseDescriptorSetting;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryByExamplePolicy.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryByExamplePolicy.java
index 118b037..407abb9 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryByExamplePolicy.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryByExamplePolicy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -189,7 +189,7 @@
      * Example: To find all projects without a budget set <code>budget</code> to 0 in the
      * example object and call <code>alwaysIncludeAttribute(Project.class, "budget")</code>
      * on the policy.
-     * <p>
+     *
      * @param exampleClass The class that the attribute belongs to, normally this is the example class unless using nested QBE.
      * @param attributeName The name of a mapped attribute.
      */
@@ -466,7 +466,7 @@
      * Considers all attributes set to a previously excluded value on the example object.
      * <p>
      * Primitive values to be removed must first be wrapped inside an Object.
-     * <p>
+     *
      * @param value No attributes set to <code>value</code> will be excluded from a Query By Example.
      * <code>value.getClass()</code> is a key of the Hashtable returned by {@link #getValuesToExclude}.
      * <p>Note: There is a distinction between an attribute and the value
@@ -517,7 +517,7 @@
 
     /**
      * PUBLIC:
-     * The special operations to use in place of <code>equal</code>.<p>
+     * The special operations to use in place of <code>equal</code>.
      * @param newOperations A hashtable where the keys are <code>Class</code> objects and the values
      * are the names of operations to use for attributes of that <code>Class</code>.
      * @see #addSpecialOperation
@@ -593,7 +593,7 @@
      * attribute <code>address</code> to <code>null</code> in the example object,
      * call <code>alwaysIncludeAttribute(Employee.class, "address")</code> and then
      * call <code>setShouldUseEqualityForNulls(false)</code>.
-     * <p>
+     *
      * @return If true (by default) uses <code>isNull</code> else <code>notNull</code>.
      * @see #addSpecialOperation addSpecialOperation
      * @see #alwaysIncludeAttribute alwaysIncludeAttribute
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
index a47a103..f8a97fb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/QueryRedirectorHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 +30,10 @@
  */
 public class QueryRedirectorHelper {
 
+    private QueryRedirectorHelper() {
+        // no instance please
+    }
+
     /**
      * This method will cause EclipseLink to check the EclipseLink cache for the object.  EclipseLink
      * always checks the shared cache before executing a query but because the query has been redirected
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ReadQuery.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ReadQuery.java
index c4bd931..dcee404 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ReadQuery.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/queries/ReadQuery.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -68,7 +68,7 @@
      * PUBLIC:
      * Initialize the state of the query
      */
-    public ReadQuery() {
+    protected ReadQuery() {
         this.maxRows = 0;
         this.firstResult = 0;
         this.fetchSize = 0;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
index 04643b8..3e5cd81 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/Sequence.java
@@ -59,7 +59,7 @@
     // note that even if set to false sequence always overrides if shouldAcquireValueAfterInsert returns true.
     protected boolean shouldAlwaysOverrideExistingValue;
 
-    public Sequence() {
+    protected Sequence() {
         super();
         setName("SEQUENCE");
     }
@@ -67,7 +67,7 @@
     /**
      * Create a new sequence with the name.
      */
-    public Sequence(String name) {
+    protected Sequence(String name) {
         this();
         setName(name);
     }
@@ -75,13 +75,13 @@
     /**
      * Create a new sequence with the name and sequence pre-allocation size.
      */
-    public Sequence(String name, int size) {
+    protected Sequence(String name, int size) {
         this();
         setName(name);
         setPreallocationSize(size);
     }
 
-    public Sequence(String name, int size, int initialValue) {
+    protected Sequence(String name, int size, int initialValue) {
         this();
         setName(name);
         setPreallocationSize(size);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
index dff96d3..31d94da 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sequencing/StandardSequence.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,19 +28,19 @@
  * </p>
  */
 public abstract class StandardSequence extends Sequence {
-    public StandardSequence() {
+    protected StandardSequence() {
         super();
     }
 
-    public StandardSequence(String name) {
+    protected StandardSequence(String name) {
         super(name);
     }
 
-    public StandardSequence(String name, int size) {
+    protected StandardSequence(String name, int size) {
         super(name, size);
     }
 
-    public StandardSequence(String name, int size, int initialValue) {
+    protected StandardSequence(String name, int size, int initialValue) {
         super(name, size, initialValue);
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/ClassSummaryDetailBase.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/ClassSummaryDetailBase.java
index 06f896a..7550d3a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/ClassSummaryDetailBase.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/ClassSummaryDetailBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -47,7 +47,7 @@
      * to be able to construct a ClassSummaryDetail instance out of a CompositeData
      * instance. See MXBeans documentation for more details.
      */
-    public ClassSummaryDetailBase(String className, String cacheType, String configuredSize,String currentSize , String parentClassName) {
+    protected ClassSummaryDetailBase(String className, String cacheType, String configuredSize, String currentSize, String parentClassName) {
         this.className = className;
         this.cacheType = cacheType;
         this.configuredSize = configuredSize;
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/RuntimeServices.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/RuntimeServices.java
index 2999047..97d926c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/RuntimeServices.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/services/RuntimeServices.java
@@ -96,14 +96,14 @@
     /**
      *  Default Constructor
      */
-    public RuntimeServices() {
+    protected RuntimeServices() {
     }
 
     /**
      *  Constructor
      *  @param session the session to be used with these RuntimeServices
      */
-    public RuntimeServices(Session session) {
+    protected RuntimeServices(Session session) {
         this.session = session;
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
index 18fca65..f48987f 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/DatasourceLogin.java
@@ -109,7 +109,7 @@
      * PUBLIC:
      * Create a new login.
      */
-    public DatasourceLogin() {
+    protected DatasourceLogin() {
         this(new DatasourcePlatform());
     }
 
@@ -117,7 +117,7 @@
      * ADVANCED:
      * Create a new login for the given platform.
      */
-    public DatasourceLogin(Platform databasePlatform) {
+    protected DatasourceLogin(Platform databasePlatform) {
         this.platform = databasePlatform;
 
         this.dontUseExternalConnectionPooling();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/Command.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/Command.java
index e9413c3..61435ee 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/Command.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/Command.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -37,6 +37,12 @@
     ServiceId serviceId;
 
     /**
+     * Default constructor.
+     */
+    protected Command() {
+    }
+
+    /**
      * INTERNAL:
      * If the CommandProcessor is a EclipseLink session then this method will
      * get executed.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/TransportManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/TransportManager.java
index 21c408f..68142a6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/TransportManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/TransportManager.java
@@ -90,6 +90,12 @@
     public static final String DEFAULT_USER_NAME = "admin";
 
     /**
+     * Default constructor.
+     */
+    protected TransportManager() {
+    }
+
+    /**
      * INTERNAL:
      * Return a remote connection to the specified service
      */
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/broadcast/BroadcastTransportManager.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/broadcast/BroadcastTransportManager.java
index 3bb1e7e..7b7cbd4 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/broadcast/BroadcastTransportManager.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/broadcast/BroadcastTransportManager.java
@@ -38,11 +38,11 @@
     // JNDI topic name
     protected String topicName;
 
-    public BroadcastTransportManager() {
+    protected BroadcastTransportManager() {
         initialize();
     }
 
-    public BroadcastTransportManager(RemoteCommandManager rcm) {
+    protected BroadcastTransportManager(RemoteCommandManager rcm) {
         this.rcm = rcm;
         rcm.setTransportManager(this);
         initialize();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/jms/JMSPublishingHelper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/jms/JMSPublishingHelper.java
index 2859c43..bd23257 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/jms/JMSPublishingHelper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/coordination/jms/JMSPublishingHelper.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,12 @@
  *
  * @author Chris Delahunt
  */
-public class JMSPublishingHelper {
+public final class JMSPublishingHelper {
+
+    private JMSPublishingHelper() {
+        // no instance please
+    }
+
     /**
      * PUBLIC:
      * Processes the received RCM messaged from a JMS provider for cache coordination.
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectReader.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectReader.java
index 357e470..734f755 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectReader.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -87,7 +87,7 @@
         shouldUseSchemaValidation = value;
     }
 
-    public XMLProjectReader() {
+    private XMLProjectReader() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectWriter.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectWriter.java
index bcdf79d..21d25a6 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectWriter.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/factories/XMLProjectWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -33,7 +33,7 @@
     /**
      * Default constructor.
      */
-    public XMLProjectWriter() {
+    private XMLProjectWriter() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheInterceptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheInterceptor.java
index 837d5cd..66d14a8 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheInterceptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/interceptors/CacheInterceptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -59,7 +59,7 @@
 
     protected AbstractSession interceptedSession;
 
-    public CacheInterceptor(IdentityMap targetIdentityMap, AbstractSession interceptedSession){
+    protected CacheInterceptor(IdentityMap targetIdentityMap, AbstractSession interceptedSession){
         this.targetIdentityMap = targetIdentityMap;
         this.interceptedSession = interceptedSession;
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/remote/DistributedSession.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/remote/DistributedSession.java
index 416d5f6..2bcdcfe 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/remote/DistributedSession.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/remote/DistributedSession.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -50,7 +50,7 @@
      * Creates a DistributedSession.
      * @param remoteConnection remote session requires a remote connection. This must be accessed remotely from the client through RMI or CORBA.
      */
-    public DistributedSession(RemoteConnection remoteConnection) {
+    protected DistributedSession(RemoteConnection remoteConnection) {
         this.remoteConnection = remoteConnection;
         this.remoteConnection.initialize(this);
         this.project = new org.eclipse.persistence.sessions.Project();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/ClientSession.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/ClientSession.java
index ea597d4..573b891 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/ClientSession.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/ClientSession.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -433,7 +433,6 @@
      * chained and each session can have its own Cache/IdentityMap.  Entities can be stored
      * at different levels based on Cache Isolation.  This method will return the correct Session
      * for a particular Entity class based on the Isolation Level and the attributes provided.
-     * <p>
      * @param canReturnSelf true when method calls itself.  If the path
      * starting at <code>this</code> is acceptable.  Sometimes true if want to
      * move to the first valid session, i.e. executing on ClientSession when really
@@ -794,7 +793,7 @@
                 if (retryCount > 1) {
                     // We are retrying more than once lets wait to give connection time to restart.
                     //Give the failover time to recover.
-                    Thread.currentThread().sleep(login.getDelayBetweenConnectionAttempts());
+                    Thread.sleep(login.getDelayBetweenConnectionAttempts());
                 }
                 getWriteConnections().put(poolName, writeConnection);
                 writeConnection.createCustomizer(this);
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/Server.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/Server.java
index 8a9e0b5..7e70ced 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/Server.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/sessions/server/Server.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -221,18 +221,18 @@
      * PUBLIC:
      * Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
      * with the minimum and maximum number of connections.
-     * <p>
+     * <br>
      * A separate read connection pool is not used by default, by default the default connection pool is used for reading.
      * A separate read connection pool can be used to dedicate a pool of connections only for reading.
      * It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
      * or to use a different user login for reading.
-     * <p>
+     * <br>
      * Since read connections are not used for writing, multiple users can
      * theoretically use the same connection at the same time.
      * However some JDBC drivers do not allow this, or have poor concurrency when this is done.
-     * <p>
+     * <br>
      * Use this read connection pool to take advantage of concurrent reading.
-     * <p>
+     *
      * @param minNumberOfConnections
      * @param maxNumberOfConnections As multiple readers can use the same connection
      * concurrently fewer connections are needed.
@@ -247,18 +247,18 @@
      * PUBLIC:
      * Sets the read connection pool to be a separate shared <code>ConnectionPool</code>
      * with the minimum and maximum number of connections.
-     * <p>
+     * <br>
      * A separate read connection pool is not used by default, by default the default connection pool is used for reading.
      * A separate read connection pool can be used to dedicate a pool of connections only for reading.
      * It can also be used to use a non-JTA DataSource for reading to avoid JTA overhead,
      * or to use a different user login for reading.
-     * <p>
+     * <br>
      * Since read connections are not used for writing, multiple users can
      * theoretically use the same connection at the same time.
      * However some JDBC drivers do not allow this, or have poor concurrency when this is done.
-     * <p>
+     * <br>
      * Use this read connection pool to take advantage of concurrent reading.
-     * <p>
+     *
      * @param initialNumberOfConnections connections connected at startup
      * @param minNumberOfConnections connections that are pooled
      * @param maxNumberOfConnections As multiple readers can use the same connection
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/file/FileUtil.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/file/FileUtil.java
index b20d085..3694417 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/file/FileUtil.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/file/FileUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -40,7 +40,10 @@
  * @author Steven Vo
  * @since TopLink 4.5
  */
-public class FileUtil {
+public final class FileUtil {
+
+    private FileUtil() {
+    }
 
     /* Copy file to another file or copy content of a directory to another directory
      *
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
index 0985118..4fbae15 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/DatabaseObjectDefinition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,7 +103,7 @@
         return fieldType;
     }
 
-    public DatabaseObjectDefinition() {
+    protected DatabaseObjectDefinition() {
         this.name = "";
         this.qualifier = "";
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/SequenceDefinition.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/SequenceDefinition.java
index 2d27a1f..56e3400 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/SequenceDefinition.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/tools/schemaframework/SequenceDefinition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,12 +30,12 @@
 public abstract class SequenceDefinition extends DatabaseObjectDefinition {
     protected Sequence sequence;
 
-    public SequenceDefinition(String name) {
+    protected SequenceDefinition(String name) {
         super();
         this.name = name;
     }
 
-    public SequenceDefinition(Sequence sequence) {
+    protected SequenceDefinition(Sequence sequence) {
         super();
         this.sequence = sequence;
         this.name = sequence.getName();
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java
index 3a9ebfa..0466e96 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractSynchronizationListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -88,7 +88,7 @@
     /**
      * INTERNAL:
      */
-    public AbstractSynchronizationListener() {
+    protected AbstractSynchronizationListener() {
         super();
     }
 
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java
index 3151e23..12bb9bb 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/AbstractTransactionController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -88,7 +88,7 @@
      * INTERNAL:
      * Return a new controller.
      */
-    public AbstractTransactionController() {
+    protected AbstractTransactionController() {
         this.unitsOfWork = new ConcurrentHashMap();
         this.activeUnitOfWorkThreadLocal = new ThreadLocal();
     }
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/sap/SAPNetWeaverTransactionController.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/sap/SAPNetWeaverTransactionController.java
index 718482e..7f55126 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/sap/SAPNetWeaverTransactionController.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/transaction/sap/SAPNetWeaverTransactionController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 1998, 2015 SAP. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -26,6 +26,17 @@
 public class SAPNetWeaverTransactionController extends JTATransactionController {
     public static final String JNDI_TRANSACTION_MANAGER_NAME = "TransactionManager";
 
+    /**
+     * Default constructor.
+     */
+    public SAPNetWeaverTransactionController() {
+        super();
+    }
+
+    public SAPNetWeaverTransactionController(TransactionManager transactionManager) {
+        super(transactionManager);
+    }
+
     @Override
     protected TransactionManager acquireTransactionManager() throws Exception {
         return (TransactionManager)jndiLookup(JNDI_TRANSACTION_MANAGER_NAME);
diff --git a/foundation/org.eclipse.persistence.extension/src/main/java/module-info.java b/foundation/org.eclipse.persistence.extension/src/main/java/module-info.java
index 99ed91a..a6ba323 100644
--- a/foundation/org.eclipse.persistence.extension/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.extension/src/main/java/module-info.java
@@ -10,6 +10,9 @@
  * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
  */
 
+/**
+ * Integrations of 3rd party libraries into EclipseLink.
+ */
 module org.eclipse.persistence.extension {
     requires transitive org.eclipse.persistence.core;
 
diff --git a/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/coordination/jgroups/JGroupsTransportManager.java b/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/coordination/jgroups/JGroupsTransportManager.java
index 262c411..49c35b8 100644
--- a/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/coordination/jgroups/JGroupsTransportManager.java
+++ b/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/coordination/jgroups/JGroupsTransportManager.java
@@ -33,12 +33,12 @@
  * <p>
  * If issues are encountered with the default setting try,<br>
  * -Djava.net.preferIPv4Stack=true
- * <p>
+ *
  * @author James Sutherland
  * @since EclipseLink 2.6
  */
 public class JGroupsTransportManager extends BroadcastTransportManager {
-    protected String configFile = "";
+    private String configFile = "";
 
     /**
      * PUBLIC:
diff --git a/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/serializers/kryo/KryoSerializer.java b/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/serializers/kryo/KryoSerializer.java
index 5223195..3fa7a67 100644
--- a/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/serializers/kryo/KryoSerializer.java
+++ b/foundation/org.eclipse.persistence.extension/src/main/java/org/eclipse/persistence/sessions/serializers/kryo/KryoSerializer.java
@@ -40,6 +40,9 @@
     transient Method inputCloseMethod;
     transient Method outputCloseMethod;
 
+    /**
+     * Default constructor.
+     */
     public KryoSerializer() {
         try {
             Class<?> kryoClass = Class.forName("com.esotericsoftware.kryo.Kryo");
@@ -63,6 +66,11 @@
         return byte[].class;
     }
 
+    /**
+     * Return an instance of {@code com.esotericsoftware.kryo.Kryo}.
+     *
+     * @return the instance of {@code com.esotericsoftware.kryo.Kryo}
+     */
     public Object getKryo() {
         Object value = this.kryo.get();
         if (value == null) {
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/EISMappingTestCases.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/EISMappingTestCases.java
index 0da8eb1..9189f42 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/EISMappingTestCases.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/EISMappingTestCases.java
@@ -26,8 +26,8 @@
 import jakarta.resource.cci.RecordFactory;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+
 import org.eclipse.persistence.eis.EISDescriptor;
-import org.eclipse.persistence.eis.EISLogin;
 import org.eclipse.persistence.eis.mappings.*;
 import org.eclipse.persistence.internal.eis.adapters.xmlfile.XMLFileConnectionFactory;
 import org.eclipse.persistence.logging.SessionLog;
@@ -76,7 +76,7 @@
             parser = builderFactory.newDocumentBuilder();
         } catch (Exception e) {
             e.printStackTrace();
-            this.fail("An exception occurred during setup");
+            fail("An exception occurred during setup");
         }
     }
 
@@ -92,10 +92,10 @@
         if (!(metadata == Metadata.JAVA)) {
             String directorySetting = (String) project.getDatasourceLogin().getProperty("directory");
             StringWriter stringWriter = new StringWriter();
-            new XMLProjectWriter().write(project, stringWriter);
+            XMLProjectWriter.write(project, stringWriter);
             log("DEPLOYMENT XML: " + stringWriter.toString());
 
-            Project newProject = new XMLProjectReader().read(new StringReader(stringWriter.toString()));
+            Project newProject = XMLProjectReader.read(new StringReader(stringWriter.toString()));
             Map descriptors = project.getDescriptors();
             Iterator keysIterator = descriptors.keySet().iterator();
             while (keysIterator.hasNext()) {
@@ -135,7 +135,7 @@
             recordFactory = connectionFactory.getRecordFactory();
         } catch (Exception e) {
             e.printStackTrace();
-            this.fail("An exception occurred during setup");
+            fail("An exception occurred during setup");
         }
     }
 
@@ -157,7 +157,7 @@
             connection.close();
             session.logout();
         } catch (Exception e) {
-            this.fail("An exception occurred during teardown:");
+            fail("An exception occurred during teardown:");
             e.printStackTrace();
         }
     }
@@ -199,14 +199,14 @@
         log("****Expected:");
         log(getControlObject().toString());
         log("***Actual:");
-        this.assertTrue(objects.size() > 0);
+        assertTrue(objects.size() > 0);
         if (objects.size() > 1) {
             log(objects.toString());
-            this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
-            this.assertEquals(getControlObject(), objects);
+            assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+            assertEquals(getControlObject(), objects);
         } else if (objects.size() == 1) {
             log(objects.elementAt(0).toString());
-            this.assertEquals(getControlObject(), objects.elementAt(0));
+            assertEquals(getControlObject(), objects.elementAt(0));
         }
     }
 
@@ -272,10 +272,10 @@
         log("***Actual:");
         if (objects.size() > 1) {
             log(objects.toString());
-            this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+            assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
         } else {
             log(objects.elementAt(0).toString());
-            this.assertEquals(getControlObject(), objects.elementAt(0));
+            assertEquals(getControlObject(), objects.elementAt(0));
         }
     }
 
@@ -311,7 +311,7 @@
 
         session.getIdentityMapAccessor().initializeAllIdentityMaps();
         Vector afterDeleteObjects = session.readAllObjects(getSourceClass());
-        this.assertEquals("Objects were not all deleted", 0, afterDeleteObjects.size());
+        assertEquals("Objects were not all deleted", 0, afterDeleteObjects.size());
 
         log("****After commit deletes:");
         logTestDocument();
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
index 0a9a5e5..23b60e8 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
@@ -16,6 +16,8 @@
 
 import java.util.ArrayList;
 import java.util.Vector;
+
+import junit.framework.TestCase;
 import org.eclipse.persistence.eis.interactions.XQueryInteraction;
 import org.eclipse.persistence.internal.eis.adapters.xmlfile.XMLFileInteractionSpec;
 import org.eclipse.persistence.testing.oxm.mappings.EISMappingTestCases;
@@ -144,11 +146,11 @@
         log("****Expected:");
         log(getControlObject().toString());
         log("***Actual:");
-        this.assertTrue(objects.size() == 4);
+        assertTrue(objects.size() == 4);
         log(objects.toString());
-        this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+        assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
         ArrayList control = (ArrayList)getControlObject();
-        this.assertEquals(control.get(0), objects.elementAt(0));
+        assertEquals(control.get(0), objects.elementAt(0));
         Company company = (Company)objects.get(0);
         Department dept = (Department)company.getDepartments().get(0);
         Vector emps = dept.getEmployees();
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
index e24a9b5..db94c83 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetomany/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
@@ -16,6 +16,8 @@
 
 import java.util.ArrayList;
 import java.util.Vector;
+
+import junit.framework.TestCase;
 import org.eclipse.persistence.eis.interactions.XQueryInteraction;
 import org.eclipse.persistence.internal.eis.adapters.xmlfile.XMLFileInteractionSpec;
 import org.eclipse.persistence.testing.oxm.mappings.EISMappingTestCases;
@@ -134,11 +136,11 @@
         log("****Expected:");
         log(getControlObject().toString());
         log("***Actual:");
-        this.assertTrue(objects.size() == 4);
+        assertTrue(objects.size() == 4);
         log(objects.toString());
-        this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+        assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
         ArrayList control = (ArrayList)getControlObject();
-        this.assertEquals(control.get(0), objects.elementAt(0));
+        assertEquals(control.get(0), objects.elementAt(0));
         Team team = (Team)objects.get(0);
         Vector emps = team.getEmployees();
         for (int i = 0; i < emps.size(); i++) {
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
index 0c8294c..4d39bb1 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/nestedownedtoexternalroot/NestedOwnedToExternalRootTestCases.java
@@ -16,6 +16,8 @@
 
 import java.util.ArrayList;
 import java.util.Vector;
+
+import junit.framework.TestCase;
 import org.eclipse.persistence.eis.interactions.XQueryInteraction;
 import org.eclipse.persistence.internal.eis.adapters.xmlfile.XMLFileInteractionSpec;
 import org.eclipse.persistence.testing.oxm.mappings.EISMappingTestCases;
@@ -134,11 +136,11 @@
         log("****Expected:");
         log(getControlObject().toString());
         log("***Actual:");
-        this.assertTrue(objects.size() == 4);
+        assertTrue(objects.size() == 4);
         log(objects.toString());
-        this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+        assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
         ArrayList control = (ArrayList)getControlObject();
-        this.assertEquals(control.get(0), objects.elementAt(0));
+        assertEquals(control.get(0), objects.elementAt(0));
         Company company = (Company)objects.get(0);
                 Department dept = (Department)company.getDepartments().get(0);
         Vector emps = dept.getEmployees();
diff --git a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
index b68c16a..4c11b83 100644
--- a/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
+++ b/foundation/org.eclipse.persistence.nosql/src/it/java/org/eclipse/persistence/testing/oxm/mappings/onetoone/keyontarget/eis/ownedtoexternalroot/OwnedToExternalRootTestCases.java
@@ -16,6 +16,8 @@
 
 import java.util.ArrayList;
 import java.util.Vector;
+
+import junit.framework.TestCase;
 import org.eclipse.persistence.eis.interactions.XQueryInteraction;
 import org.eclipse.persistence.internal.eis.adapters.xmlfile.XMLFileInteractionSpec;
 import org.eclipse.persistence.testing.oxm.mappings.EISMappingTestCases;
@@ -134,11 +136,11 @@
         log("****Expected:");
         log(getControlObject().toString());
         log("***Actual:");
-        this.assertTrue(objects.size() == 4);
+        assertTrue(objects.size() == 4);
         log(objects.toString());
-        this.assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
+        assertTrue(((java.util.ArrayList)getControlObject()).size() == objects.size());
         ArrayList control = (ArrayList)getControlObject();
-        this.assertEquals(control.get(0), objects.elementAt(0));
+        assertEquals(control.get(0), objects.elementAt(0));
         Team team = (Team)objects.get(0);
         Vector emps = team.getEmployees();
         for (int i = 0; i < emps.size(); i++) {
diff --git a/foundation/org.eclipse.persistence.nosql/src/main/java/module-info.java b/foundation/org.eclipse.persistence.nosql/src/main/java/module-info.java
index cc6079b..85d9f4c 100644
--- a/foundation/org.eclipse.persistence.nosql/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.nosql/src/main/java/module-info.java
@@ -15,7 +15,7 @@
     requires jakarta.transaction;
     requires jakarta.annotation;
 
-    requires org.eclipse.persistence.core;
+    requires transitive org.eclipse.persistence.core;
 
     exports org.eclipse.persistence.eis.adapters.jms;
     exports org.eclipse.persistence.eis.adapters.xmlfile;
diff --git a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo2ConnectionSpec.java b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo2ConnectionSpec.java
index 36596e2..bc32316 100644
--- a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo2ConnectionSpec.java
+++ b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo2ConnectionSpec.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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,6 +25,13 @@
  */
 public class Mongo2ConnectionSpec extends MongoConnectionSpec {
 
+    /**
+     * Default constructor.
+     */
+    public Mongo2ConnectionSpec() {
+        super();
+    }
+
     @Override
     protected ConnectionFactory createMongoConnectionFactory() {
         return new MongoConnectionFactory();
diff --git a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo3ConnectionSpec.java b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo3ConnectionSpec.java
index 3da3fa6..7258c42 100644
--- a/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo3ConnectionSpec.java
+++ b/foundation/org.eclipse.persistence.nosql/src/main/java/org/eclipse/persistence/nosql/adapters/mongo/Mongo3ConnectionSpec.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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,6 +25,12 @@
  */
 public class Mongo3ConnectionSpec extends MongoConnectionSpec {
 
+    /**
+     * Default constructor.
+     */
+    public Mongo3ConnectionSpec() {
+    }
+
     @Override
     protected ConnectionFactory createMongoConnectionFactory() {
         return new MongoDatabaseConnectionFactory();
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/pom.xml b/foundation/org.eclipse.persistence.oracle.nosql/pom.xml
index 29af3ce..a9184a4 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/pom.xml
+++ b/foundation/org.eclipse.persistence.oracle.nosql/pom.xml
@@ -31,6 +31,7 @@
     </parent>
 
     <properties>
+        <jdoc.doclint>all,-missing</jdoc.doclint>
         <test-skip-oracle-nosql>${skipTests}</test-skip-oracle-nosql>
     </properties>
 
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/module-info.java b/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/module-info.java
index 73fb0f4..6990aac 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/module-info.java
@@ -10,10 +10,18 @@
  * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
  */
 
+/**
+ * Support for Oracle NoSQL DBs
+ */
 module org.eclipse.persistence.oracle.nosql {
 
-    requires jakarta.transaction;
+//    requires transitive jakarta.resource.api;
 
-    requires org.eclipse.persistence.core;
+    requires transitive org.eclipse.persistence.core;
 
+    exports org.eclipse.persistence.eis.adapters.aq;
+    exports org.eclipse.persistence.nosql.adapters.nosql;
+
+    //exported through PUBLIC API
+    exports org.eclipse.persistence.internal.nosql.adapters.nosql;
 }
diff --git a/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/org/eclipse/persistence/internal/nosql/adapters/nosql/OracleNoSQLConnectionFactory.java b/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/org/eclipse/persistence/internal/nosql/adapters/nosql/OracleNoSQLConnectionFactory.java
index ae3332b..793d59c 100644
--- a/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/org/eclipse/persistence/internal/nosql/adapters/nosql/OracleNoSQLConnectionFactory.java
+++ b/foundation/org.eclipse.persistence.oracle.nosql/src/main/java/org/eclipse/persistence/internal/nosql/adapters/nosql/OracleNoSQLConnectionFactory.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
@@ -58,7 +58,7 @@
                 index++;
             }
             KVStoreConfig config = new KVStoreConfig(connectionSpec.getStore(), hosts);
-            store = factory.getStore(config);
+            store = KVStoreFactory.getStore(config);
         } catch (Exception exception) {
             ResourceException resourceException = new ResourceException(exception.toString());
             resourceException.initCause(exception);
diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/dcn/DCNTestSuite.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/dcn/DCNTestSuite.java
index 06d87f0..8ca4624 100644
--- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/dcn/DCNTestSuite.java
+++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/jpa/dcn/DCNTestSuite.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
@@ -112,7 +112,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdate() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e").getResultList();
@@ -147,7 +147,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdateProject() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select p from Project p").getResultList();
@@ -182,7 +182,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdateSecondaryTable() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e").getResultList();
@@ -217,7 +217,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdateElementCollection() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e left join fetch e.responsiblities").getResultList();
@@ -252,7 +252,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdateManyToMany() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e left join fetch e.projects").getResultList();
@@ -289,7 +289,7 @@
      * Test that updates to existing objects are invalidated.
      */
     public void testUpdateOneToMany() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e left join fetch e.managedEmployees").getResultList();
@@ -327,7 +327,7 @@
      * Test that updates to new objects are invalidated.
      */
     public void testNewUpdate() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager();
             beginTransaction(em);
             Employee employee = new Employee();
@@ -370,7 +370,7 @@
      * Test that removing in once session invalidates the object.
      */
     public void testRemove() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager();
             beginTransaction(em);
             Employee employee = new Employee();
@@ -410,7 +410,7 @@
      * Test that update all invalidates the objects.
      */
     public void testUpdateAll() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e").getResultList();
@@ -444,7 +444,7 @@
      * Test that native sql invalidates the objects.
      */
     public void testNativeSQL() {
-        if (this.supported) {
+        if (supported) {
             EntityManager em = createEntityManager(DCN2);
             try {
                 em.createQuery("Select e from Employee e").getResultList();
diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/CalendarDaylightSavingsTest.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/CalendarDaylightSavingsTest.java
index 65a7573..089050e 100644
--- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/CalendarDaylightSavingsTest.java
+++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/CalendarDaylightSavingsTest.java
@@ -199,7 +199,7 @@
         ExpressionBuilder builder = query.getExpressionBuilder();
         Expression expression = builder.get("testId").equal(getTestId());
         query.setSelectionCriteria(expression);
-        query.setCacheUsage(query.DoNotCheckCache);
+        query.setCacheUsage(ObjectLevelReadQuery.DoNotCheckCache);
 
         // cache the result for later verification
         result = (CalendarDaylightSavingsTest)getSession().executeQuery(query);
diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/TIMESTAMPTester.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/TIMESTAMPTester.java
index d459599..b086640 100644
--- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/TIMESTAMPTester.java
+++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/types/TIMESTAMPTester.java
@@ -463,7 +463,7 @@
                 dbCal = TIMESTAMPHelper.printCalendar(fromDatabase.getCalToTSTZ());
                 // indicates whether the original and read back from the db calendars are equal
                 boolean areEqual = true;
-                if(this.isTimestampInGmt) {
+                if(isTimestampInGmt) {
                     // 0 if and only if the two calendars refer to the same time
                     int compareCalToTSTZ = calToTSTZ.compareTo(fromDatabase.getCalToTSTZ());
                     boolean timeZonesEqual = calToTSTZ.getTimeZone().equals(fromDatabase.getCalToTSTZ().getTimeZone());
diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPCallbackUnitOfWorkTests.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPCallbackUnitOfWorkTests.java
index 5f171be..ff7b722 100644
--- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPCallbackUnitOfWorkTests.java
+++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPCallbackUnitOfWorkTests.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
@@ -39,8 +39,7 @@
     @Override
     public Server buildServerSession() {
         try {
-            PoolDataSourceFactory factory = new oracle.ucp.jdbc.PoolDataSourceFactory();
-            PoolDataSource dataSource = factory.getPoolDataSource();
+            PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
             //dataSource.setONSConfiguration("nodes=adcdbc01-r.us.oracle.com:6200");
             dataSource.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
             dataSource.setURL(getSession().getLogin().getConnectionString());
diff --git a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPUnitOfWorkTests.java b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPUnitOfWorkTests.java
index 14de7c0..556073e 100644
--- a/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPUnitOfWorkTests.java
+++ b/foundation/org.eclipse.persistence.oracle.test/src/it/java/org/eclipse/persistence/testing/tests/ucp/UCPUnitOfWorkTests.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
@@ -37,8 +37,7 @@
     @Override
     public Server buildServerSession() {
         try {
-            PoolDataSourceFactory factory = new oracle.ucp.jdbc.PoolDataSourceFactory();
-            PoolDataSource dataSource = factory.getPoolDataSource();
+            PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
             //dataSource.setONSConfiguration("nodes=adcdbc01-r.us.oracle.com:6200");
             dataSource.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
             dataSource.setURL(getSession().getLogin().getConnectionString());
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/module-info.java b/foundation/org.eclipse.persistence.oracle/src/main/java/module-info.java
index 2b38e7a..7867edb 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/module-info.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/module-info.java
@@ -11,7 +11,8 @@
  */
 
 module org.eclipse.persistence.oracle {
-    requires org.eclipse.persistence.core;
+
+    requires transitive org.eclipse.persistence.core;
 
     exports org.eclipse.persistence.platform.database.oracle;
     exports org.eclipse.persistence.platform.database.oracle.converters;
@@ -19,4 +20,7 @@
     exports org.eclipse.persistence.platform.database.oracle.ucp;
     exports org.eclipse.persistence.platform.xml.xdk;
     exports org.eclipse.persistence.tools.profiler.oracle;
+
+    //exported through PUBLIC API
+    exports org.eclipse.persistence.internal.platform.database.oracle;
 }
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
index aab1c4b..2f23b88 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/Oracle8Platform.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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,6 +56,13 @@
     protected int lobValueLimits = 0;
 
     /**
+     * Default constructor.
+     */
+    public Oracle8Platform() {
+        super();
+    }
+
+    /**
      * INTERNAL:
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/GridLinkDataPartitioningCallback.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/GridLinkDataPartitioningCallback.java
index 6386d08..6801d92 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/GridLinkDataPartitioningCallback.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/GridLinkDataPartitioningCallback.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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,13 @@
     public static boolean isRegistered = false;
 
     /**
+     * Default constructor.
+     */
+    public GridLinkDataPartitioningCallback() {
+        super();
+    }
+
+    /**
      * Registration only occurs once in WLS (against all data sources), so must be static registered.
      */
     @Override
diff --git a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/UCPDataPartitioningCallback.java b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/UCPDataPartitioningCallback.java
index 070ddf3..4c55cdc 100644
--- a/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/UCPDataPartitioningCallback.java
+++ b/foundation/org.eclipse.persistence.oracle/src/main/java/org/eclipse/persistence/platform/database/oracle/ucp/UCPDataPartitioningCallback.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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,12 @@
     /** The id is stored in a thread local. */
     protected ThreadLocal partitionId = new ThreadLocal();
 
+    /**
+     * Default constructor.
+     */
+    public UCPDataPartitioningCallback() {
+    }
+
     @Override
     public void register(DataSource datSource, Session session) {
         try {
diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/connwrapper/DriverWrapper.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/connwrapper/DriverWrapper.java
index 8975ba6..c46eddd 100644
--- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/connwrapper/DriverWrapper.java
+++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/connwrapper/DriverWrapper.java
@@ -191,7 +191,7 @@
     static Driver getDriver() {
         if(driver == null) {
             try {
-                driver = (Driver)Class.forName(driverName, true, Thread.currentThread().getContextClassLoader()).newInstance();
+                driver = (Driver)Class.forName(driverName, true, Thread.currentThread().getContextClassLoader()).getConstructor().newInstance();
             } catch (Exception ex) {
                 throw new RuntimeException("DriverWrapper: failed to instantiate " + driverName, ex);
             }
diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/CacheDeadLockDetectionTest.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/CacheDeadLockDetectionTest.java
index 8bd6d0e..e4e34fa 100644
--- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/CacheDeadLockDetectionTest.java
+++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/CacheDeadLockDetectionTest.java
@@ -67,7 +67,7 @@
         }
         threadExecution(em);
         try {
-            Thread.currentThread().sleep(7000L);
+            Thread.sleep(7000L);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/MainThread.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/MainThread.java
index 29afd7d..c7bdf72 100644
--- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/MainThread.java
+++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/cachedeadlock/MainThread.java
@@ -41,8 +41,8 @@
 
     public MainThread(SeContainer container, EntityManagerFactory emf, EntityManager em) {
         this.container = container;
-        this.emf = emf;
-        this.em = em;
+        MainThread.emf = emf;
+        MainThread.em = em;
         eventProducer = container.select(EventProducer.class).get();
         queryMaster = em.createNamedQuery("MasterEntity.findById", CacheDeadLockDetectionMaster.class);
         queryMaster.setParameter("id", ID);
diff --git a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/oraclefeatures/TestOracleLOBLocatorFeature.java b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/oraclefeatures/TestOracleLOBLocatorFeature.java
index 48ebff6..c8a1e3c 100644
--- a/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/oraclefeatures/TestOracleLOBLocatorFeature.java
+++ b/jpa/eclipselink.jpa.test.jse/src/it/java/org/eclipse/persistence/jpa/test/oraclefeatures/TestOracleLOBLocatorFeature.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2019 IBM Corporation. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -39,6 +39,7 @@
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 
+import org.hamcrest.MatcherAssert;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -190,7 +191,7 @@
                 em.getTransaction().commit();
             } catch (jakarta.persistence.RollbackException re) {
                 // Expected
-                Assert.assertThat(re, getExceptionChainMatcher(java.sql.SQLIntegrityConstraintViolationException.class));
+                MatcherAssert.assertThat(re, getExceptionChainMatcher(java.sql.SQLIntegrityConstraintViolationException.class));
             }
 
             
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/pom.xml b/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
index 6f1c684..48c3f76 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.xdoclint>-Xdoclint:all,-missing</comp.xdoclint>
+    </properties>
+
     <dependencies>
         <!--Test dependencies-->
         <dependency>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/module-info.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/module-info.java
index cf2ac45..5a88f44 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/module-info.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/module-info.java
@@ -17,4 +17,5 @@
     exports org.eclipse.persistence.jpa.jpql;
     exports org.eclipse.persistence.jpa.jpql.parser;
     exports org.eclipse.persistence.jpa.jpql.utility.iterable;
+    exports org.eclipse.persistence.jpa.jpql.utility.iterator;
 }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.java
index 6a2528e..166a6ff 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractEclipseLinkSemanticValidator.java
@@ -501,6 +501,12 @@
 
         public int count;
 
+        /**
+         * Default constructor.
+         */
+        protected SubquerySelectItemCalculator() {
+        }
+
         @Override
         public void visit(BadExpression expression) {
             count = 0;
@@ -545,6 +551,12 @@
          */
         protected boolean valid;
 
+        /**
+         * Default constructor.
+         */
+        protected TableExpressionVisitor() {
+        }
+
         @Override
         public void visit(TableExpression expression) {
             valid = (this.expression == expression);
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 be94163..02aa9bb 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
@@ -4863,6 +4863,12 @@
          */
         ComparisonExpression expression;
 
+        /**
+         * Default constructor.
+         */
+        protected ComparisonExpressionVisitor() {
+        }
+
         @Override
         public void visit(ComparisonExpression expression) {
             this.expression = expression;
@@ -4877,6 +4883,12 @@
          */
         public boolean dateTime;
 
+        /**
+         * Default constructor.
+         */
+        protected DateTimeVisitor() {
+        }
+
         @Override
         public void visit(DateTime expression) {
             dateTime = true;
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 9ffec3e..35f884c 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
@@ -3089,6 +3089,12 @@
          */
         protected CollectionValuedPathExpression expression;
 
+        /**
+         * Default constructor.
+         */
+        protected CollectionValuedPathExpressionVisitor() {
+        }
+
         @Override
         public void visit(CollectionValuedPathExpression expression) {
             this.expression = expression;
@@ -3101,6 +3107,12 @@
         protected IdentificationVariable expression;
         public boolean result;
 
+        /**
+         * Default constructor.
+         */
+        protected ComparingEntityTypeLiteralVisitor() {
+        }
+
         @Override
         public void visit(ComparisonExpression expression) {
             result = true;
@@ -3212,6 +3224,12 @@
 
         protected boolean valid;
 
+        /**
+         * Default constructor.
+         */
+        protected FirstDeclarationVisitor() {
+        }
+
         @Override
         public void visit(AbstractSchemaName expression) {
             valid = true;
@@ -3306,6 +3324,12 @@
          */
         protected StateFieldPathExpression expression;
 
+        /**
+         * Default constructor.
+         */
+        protected StateFieldPathExpressionVisitor() {
+        }
+
         @Override
         public void visit(StateFieldPathExpression expression) {
             this.expression = expression;
@@ -3315,6 +3339,12 @@
     // Made static final for performance reasons.
     protected static final class SubqueryFirstDeclarationVisitor extends FirstDeclarationVisitor {
 
+        /**
+         * Default constructor.
+         */
+        protected SubqueryFirstDeclarationVisitor() {
+        }
+
         @Override
         public void visit(CollectionValuedPathExpression expression) {
             valid = true;
@@ -3324,6 +3354,12 @@
     // Made static for performance reasons.
     protected static class TopLevelFirstDeclarationVisitor extends FirstDeclarationVisitor {
 
+        /**
+         * Default constructor.
+         */
+        protected TopLevelFirstDeclarationVisitor() {
+        }
+
         @Override
         public void visit(AbstractSchemaName expression) {
             // TODO
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 bf5087b..510b947 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
@@ -986,6 +986,12 @@
          */
         protected boolean subExpression;
 
+        /**
+         * Default constructor.
+         */
+        protected NestedArrayVisitor() {
+        }
+
         @Override
         public void visit(CollectionExpression expression) {
             nestedArraySize = subExpression ? expression.childrenSize() : -1;
@@ -1100,6 +1106,12 @@
         public UpdateStatement updateStatement;
 
         /**
+         * Default constructor.
+         */
+        protected OwningStatementVisitor() {
+        }
+
+        /**
          * Disposes the internal data.
          */
         protected void dispose() {
@@ -1140,6 +1152,12 @@
          */
         private SimpleSelectStatement expression;
 
+        /**
+         * Default constructor.
+         */
+        protected SubqueryVisitor() {
+        }
+
         @Override
         public void visit(SimpleSelectStatement expression) {
             this.expression = expression;
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 3c40e03..830f8ee 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
@@ -619,6 +619,12 @@
 
         protected InExpression expression;
 
+        /**
+         * Default constructor.
+         */
+        protected InExpressionVisitor() {
+        }
+
         @Override
         public void visit(InExpression expression) {
             this.expression = expression;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/JPQLQueryProblemResourceBundle.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/JPQLQueryProblemResourceBundle.java
index 1cb79e0..a91e957 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/JPQLQueryProblemResourceBundle.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/JPQLQueryProblemResourceBundle.java
@@ -32,6 +32,13 @@
      */
     public static final String PROPERTIES_FILE_NAME = JPQLQueryProblemResourceBundle.class.getPackage().getName() + ".jpa_jpql_validation";
 
+    /**
+     * Default constructor.
+     */
+    public JPQLQueryProblemResourceBundle() {
+        // for reflection
+    }
+
     @Override
     protected Object[][] getContents() {
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbsExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbsExpression.java
index 3f103f4..d2c780c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbsExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbsExpression.java
@@ -24,7 +24,7 @@
  * <p>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= ABS(simple_arithmetic_expression)</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= ABS(arithmetic_expression)</code></div>
  * <p>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkExpressionVisitor.java
index ca17f53..124eca8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkExpressionVisitor.java
@@ -30,6 +30,12 @@
 public abstract class AbstractEclipseLinkExpressionVisitor extends AbstractExpressionVisitor
                                                            implements EclipseLinkExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractEclipseLinkExpressionVisitor() {
+    }
+
     @Override
     public void visit(AsOfClause expression) {
     }
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseChildrenVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseChildrenVisitor.java
index b86f012..17c8569 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseChildrenVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseChildrenVisitor.java
@@ -32,6 +32,12 @@
 public abstract class AbstractEclipseLinkTraverseChildrenVisitor extends AbstractTraverseChildrenVisitor
                                                                  implements EclipseLinkExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractEclipseLinkTraverseChildrenVisitor() {
+    }
+
     @Override
     public void visit(AsOfClause expression) {
         visit((Expression) expression);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseParentVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseParentVisitor.java
index b175383..d2fb78b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseParentVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractEclipseLinkTraverseParentVisitor.java
@@ -31,6 +31,12 @@
 public abstract class AbstractEclipseLinkTraverseParentVisitor extends AbstractTraverseParentVisitor
                                                                implements EclipseLinkExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractEclipseLinkTraverseParentVisitor() {
+    }
+
     @Override
     public void visit(AsOfClause expression) {
         visit((Expression) expression);
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 ee14a92..2abfce0 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
@@ -224,11 +224,10 @@
      * the visitor. The method signature should be:
      *
      * <div><code>{public|protected|private} void visit(ThirdPartyExpression expression)</code></div>
-     * <p>
+     * <br>
      * or
      *
      * <div><code>{public|protected|private} void visit(Expression expression)</code></div>
-     * <p>
      *
      * @param visitor The {@link ExpressionVisitor} to visit this {@link Expression} programmatically
      * @param type The type found in the hierarchy of the given {@link ExpressionVisitor} that will
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpressionVisitor.java
index b4f23a2..c88a5d9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractExpressionVisitor.java
@@ -30,6 +30,12 @@
  */
 public abstract class AbstractExpressionVisitor implements ExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractExpressionVisitor() {
+    }
+
     @Override
     public void visit(AbsExpression expression) {
     }
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 437ef91..01ff556 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
@@ -37,7 +37,7 @@
     private boolean hasSpaceAfterIdentifier;
 
     /**
-     * The actual <b></b> identifier found in the string representation of the JPQL query.
+     * The actual identifier found in the string representation of the JPQL query.
      */
     private String identifier;
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseChildrenVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseChildrenVisitor.java
index c6f4d46..212937a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseChildrenVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseChildrenVisitor.java
@@ -26,6 +26,12 @@
  */
 public abstract class AbstractTraverseChildrenVisitor extends AnonymousExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractTraverseChildrenVisitor() {
+    }
+
     @Override
     protected final void visit(Expression expression) {
         expression.acceptChildren(this);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseParentVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseParentVisitor.java
index 1e99f8f..c15bd84 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseParentVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AbstractTraverseParentVisitor.java
@@ -25,6 +25,12 @@
  */
 public abstract class AbstractTraverseParentVisitor extends AnonymousExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AbstractTraverseParentVisitor() {
+    }
+
     @Override
     protected void visit(Expression expression) {
         expression.getParent().accept(this);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AnonymousExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AnonymousExpressionVisitor.java
index c3f4e63..5cfbbd6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AnonymousExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/AnonymousExpressionVisitor.java
@@ -30,6 +30,12 @@
  */
 public abstract class AnonymousExpressionVisitor implements ExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected AnonymousExpressionVisitor() {
+    }
+
     @Override
     public void visit(AbsExpression expression) {
         visit((Expression) expression);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CaseExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CaseExpressionBNF.java
index edce92d..e5a6b3c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CaseExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CaseExpressionBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a case expression.
  *
  * <div><b>BNF:</b> <code>case_expression ::= general_case_expression |
- * simple_case_expression | coalesce_expression | nullif_expression</code><p></p></div>
+ * simple_case_expression | coalesce_expression | nullif_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CastExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CastExpressionBNF.java
index ad80278..672a28c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CastExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CastExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the CAST function.
  *
- * <div><b>BNF:</b> <code>cast ::= CAST(value AS type)</code><p></p></div>
+ * <div><b>BNF:</b> <code>cast ::= CAST(value AS type)</code></div>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CoalesceExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CoalesceExpressionBNF.java
index 47e8ff7..af5a0e3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CoalesceExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CoalesceExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a coalesce expression.
  *
- * <div><b>BNF:</b> <code>coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+)</code><p></p></div>
+ * <div><b>BNF:</b> <code>coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.java
index 70ce155..0c8e74d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionExpression.java
@@ -27,7 +27,7 @@
  * <br>
  * or
  * <br>
- * <div><b>BNF:</b> <code>expression ::= child_item { child_item }*</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= child_item { child_item }*</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclaration.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclaration.java
index e48ccdb..fca7c8d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclaration.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclaration.java
@@ -30,9 +30,9 @@
  * type specified as a result of navigation to a collection-valued association-field of an entity
  * abstract schema type.
  *
- * <div><b>BNF:</b> <code>collection_member_declaration ::= IN(collection_valued_path_expression) [AS] identification_variable</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_member_declaration ::= IN(collection_valued_path_expression) [AS] identification_variable</code></div>
  * or
- * <div><b>BNF:</b> <code>derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field</code></div>
  * <p>
  * Example: <code><b>SELECT</b> t <b>FROM</b> Player p, <b>IN</b> (p.teams) AS t</code>
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclarationBNF.java
index 8edafea..087478a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberDeclarationBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a collection member declaration expression.
  *
- * <div><b>BNF:</b> <code>collection_member_declaration ::= IN(collection_valued_path_expression) [AS] identification_variable</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_member_declaration ::= IN(collection_valued_path_expression) [AS] identification_variable</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpression.java
index 2bda1df..c959242 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpression.java
@@ -28,7 +28,7 @@
  * path expression or single-valued association-field path expression in the collection member
  * expression is <b>NULL</b> or unknown, the value of the collection member expression is unknown.
  *
- * <div><b>BNF:</b> <code>collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpressionBNF.java
index 66fb3e2..f75baaa 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionMemberExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a collection member expression.
  *
- * <div><b>BNF:</b> <code>collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpression.java
index e9a0e09..00ff7a9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpression.java
@@ -21,7 +21,7 @@
  * type of a <code>collection_valued_field</code> is a collection of values of the abstract schema
  * type of the related entity or element type.
  *
- * <div><b>BNF:</b> <code>collection_valued_path_expression ::= general_identification_variable.{single_valued_object_field.}*collection_valued_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_valued_path_expression ::= general_identification_variable.{single_valued_object_field.}*collection_valued_field</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpressionBNF.java
index 4d47baa..5880c6f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CollectionValuedPathExpressionBNF.java
@@ -19,10 +19,10 @@
  * The query BNF for a collection-valued path expression.
  * <p>
  * JPA 1.0:
- * <div><b>BNF:</b> <code>collection_valued_path_expression ::= identification_variable.{single_valued_object_field.}*collection_valued_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_valued_path_expression ::= identification_variable.{single_valued_object_field.}*collection_valued_field</code></div>
  *
  * JPA 2.0:
- * <div><b>BNF:</b> <code>collection_valued_path_expression ::= general_identification_variable.{single_valued_object_field.}*collection_valued_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>collection_valued_path_expression ::= general_identification_variable.{single_valued_object_field.}*collection_valued_field</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ComparisonExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ComparisonExpressionBNF.java
index 7cad2ad..53b3d3f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ComparisonExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ComparisonExpressionBNF.java
@@ -25,7 +25,7 @@
  *                                                         datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
  *                                                         entity_expression { = | {@literal <>} } {entity_expression | all_or_any_expression} |
  *                                                         arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression}</code>
- * <p></p></div>
+ * </div>
  * JPA 2.0, 2.1:
  * <div><b>BNF:</b> <code>comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
  *                                                         boolean_expression { = | {@literal <>} } {boolean_expression | all_or_any_expression} |
@@ -34,7 +34,7 @@
  *                                                         entity_expression { = | {@literal <>} } {entity_expression | all_or_any_expression} |
  *                                                         arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression} |
  *                                                         entity_type_expression { = | {@literal <>} } entity_type_expression}</code>
- * <p></p></div>
+ * </div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CompoundExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CompoundExpression.java
index 957c25f..a812eaf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CompoundExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CompoundExpression.java
@@ -22,7 +22,7 @@
 /**
  * A compound expression has a left and right expressions combined by an identifier.
  *
- * <div><b>BNF:</b> <code>expression ::= left_expression identifier right_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= left_expression identifier right_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
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 060eb53..369aaa8 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
@@ -23,10 +23,10 @@
  * <p>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_primary, string_primary)</code></div>
- * <p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_primary, string_primary {, string_primary}*)</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_expression, string_expression {, string_expression}*)</code></div>
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalExpressionBNF.java
index d070982..3fd1ad4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a conditional expression.
  *
- * <div><b>BNF:</b> <code>conditional_expression ::= conditional_term | conditional_expression OR conditional_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>conditional_expression ::= conditional_term | conditional_expression OR conditional_term</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalFactorBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalFactorBNF.java
index 9f14d7f..ebc170a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalFactorBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalFactorBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a conditional factor expression.
  *
- * <div><b>BNF:</b> <code>conditional_factor ::= [ NOT ] conditional_primary</code><p></p></div>
+ * <div><b>BNF:</b> <code>conditional_factor ::= [ NOT ] conditional_primary</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalPrimaryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalPrimaryBNF.java
index cce9d34..b968f27 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalPrimaryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalPrimaryBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a conditional primary expression.
  *
- * <div><b>BNF:</b> <code>conditional_primary ::= simple_cond_expression | (conditional_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>conditional_primary ::= simple_cond_expression | (conditional_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalTermBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalTermBNF.java
index bec4ae9..300462f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalTermBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConditionalTermBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a conditional term expression.
  *
- * <div><b>BNF:</b> <code>conditional_term ::= conditional_factor | conditional_term AND conditional_factor</code><p></p></div>
+ * <div><b>BNF:</b> <code>conditional_term ::= conditional_factor | conditional_term AND conditional_factor</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClause.java
index fdc4063..d33963f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClause.java
@@ -24,7 +24,7 @@
  * query clause. <b>CONNECT BY</b> specifies the relationship between parent rows and child rows of
  * the hierarchy.
  *
- * <div><b>BNF:</b> <code>connectby_clause ::= <b>CONNECT BY</b> { single_valued_object_path_expression | collection_valued_path_expression }</code><p></p></div>
+ * <div><b>BNF:</b> <code>connectby_clause ::= <b>CONNECT BY</b> { single_valued_object_path_expression | collection_valued_path_expression }</code></div>
  *
  * @version 2.5
  * @since 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClauseBNF.java
index 0c364d9..db6bb4d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConnectByClauseBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a <code><b>CONNECT BY</b></code> clause. This was added to the grammar with
  * EclipseLink 2.5.
  *
- * <div><b>BNF:</b> <code>CONNECT BY { single_valued_object_path_expression | collection_valued_path_expression }</code><p></p></div>
+ * <div><b>BNF:</b> <code>CONNECT BY { single_valued_object_path_expression | collection_valued_path_expression }</code></div>
  *
  * @version 2.5
  * @since 2.5
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 9e03342..3e4c30a 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
@@ -26,7 +26,7 @@
  * more Java instances. The specified class is not required to be an entity or to be mapped to the
  * database. The constructor name must be fully qualified.
  *
- * <div><b>BNF:</b> <code>constructor_expression ::= NEW constructor_name(constructor_item {, constructor_item}*)</code><p></p></div>
+ * <div><b>BNF:</b> <code>constructor_expression ::= NEW constructor_name(constructor_item {, constructor_item}*)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpressionBNF.java
index 05b2f41..9625044 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a constructor expression.
  *
- * <div><b>BNF:</b> <code>constructor_expression ::= NEW constructor_name ( constructor_item {, constructor_item}* )</code><p></p></div>
+ * <div><b>BNF:</b> <code>constructor_expression ::= NEW constructor_name ( constructor_item {, constructor_item}* )</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorItemBNF.java
index 11eb420..c9a66ca 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ConstructorItemBNF.java
@@ -21,7 +21,7 @@
  * <div><b>BNF:</b> <code>constructor_item ::= single_valued_path_expression |
  *                                                    scalar_expression |
  *                                                    aggregate_expression |
- *                                                    identification_variable</code><p></p></div>
+ *                                                    identification_variable</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CountFunction.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CountFunction.java
index 79c902e..01afef6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CountFunction.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/CountFunction.java
@@ -22,7 +22,7 @@
  *
  * <div><b>BNF:</b> <code>expression ::= COUNT ([DISTINCT] identification_variable |
  *                                                                state_field_path_expression |
- *                                                                single_valued_object_path_expression)</code><p></p></div>
+ *                                                                single_valued_object_path_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatabaseTypeQueryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatabaseTypeQueryBNF.java
index 77f55e3..84ae6c0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatabaseTypeQueryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatabaseTypeQueryBNF.java
@@ -21,7 +21,6 @@
  * <div><b>BNF:</b> <code>database_type ::= data_type_literal [( [numeric_literal [, numeric_literal]] )]</code></div>
  *
  * <div><b>BNF:</b> <code>data_type_literal ::= [CHAR, VARCHAR, NUMERIC, INTEGER, DATE, TIME, TIMESTAMP, etc]</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTime.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTime.java
index 1d62b42..2a0ad5c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTime.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTime.java
@@ -32,7 +32,7 @@
  * <p>
  * The JDBC escape syntax may be used for the specification of date, time, and timestamp literals.
  *
- * <div><b>BNF:</b> <code>expression ::= {d 'yyyy-mm-dd'} | {t 'hh:mm:ss'} | {ts 'yyyy-mm-dd hh:mm:ss.f...'}</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= {d 'yyyy-mm-dd'} | {t 'hh:mm:ss'} | {ts 'yyyy-mm-dd hh:mm:ss.f...'}</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTimePrimaryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTimePrimaryBNF.java
index 46d3830..326ea77 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTimePrimaryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DateTimePrimaryBNF.java
@@ -22,7 +22,7 @@
  * <div><b>BNF:</b> <code>datetime_primary ::= state_field_path_expression |
  *                                                    input_parameter |
  *                                                    functions_returning_datetime |
- *                                                    aggregate_expression</code><p></p></div>
+ *                                                    aggregate_expression</code></div>
  *
  * JPA 2.0:
  * <div><b>BNF:</b> <code>datetime_primary ::= state_field_path_expression |
@@ -30,7 +30,7 @@
  *                                                    functions_returning_datetime |
  *                                                    aggregate_expression |
  *                                                    case_expression |
- *                                                    date_time_timestamp_literal</code><p></p></div>
+ *                                                    date_time_timestamp_literal</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatetimeExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatetimeExpressionBNF.java
index 22b39d5..49ef8dd 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatetimeExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DatetimeExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a date/time expression.
  *
- * <div><b>BNF:</b> <code>datetime_expression ::= datetime_primary | (subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>datetime_expression ::= datetime_primary | (subquery)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseBNF.java
index ce1545c..ec0f2e5 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the delete clause.
  *
- * <div><b>BNF:</b> <code>delete_clause ::= DELETE FROM entity_name [[AS] identification_variable]</code><p></p></div>
+ * <div><b>BNF:</b> <code>delete_clause ::= DELETE FROM entity_name [[AS] identification_variable]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseRangeVariableDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseRangeVariableDeclarationBNF.java
index c0c08be..2e06b12 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseRangeVariableDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteClauseRangeVariableDeclarationBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a range variable declaration expression used by the <b>DELETE</b> clause, which
  * accepts collection and aggregate expression, which is used by invalid queries.
  *
- * <div><b>BNF:</b> <code>range_variable_declaration ::= entity_name [AS] identification_variable</code><p></p></div>
+ * <div><b>BNF:</b> <code>range_variable_declaration ::= entity_name [AS] identification_variable</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatement.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatement.java
index 5130ecf..c6717f1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatement.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatement.java
@@ -23,7 +23,7 @@
  * Bulk delete operation apply to entities of a single entity class (together with its subclasses,
  * if any).
  *
- * <div><b>BNF:</b> <code>delete_statement ::= delete_clause [where_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>delete_statement ::= delete_clause [where_clause]</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatementBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatementBNF.java
index e9da514..428f202 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatementBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DeleteStatementBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the delete statement.
  *
- * <div><b>BNF:</b> <code>delete_statement ::= delete_clause [where_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>delete_statement ::= delete_clause [where_clause]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DerivedCollectionMemberDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DerivedCollectionMemberDeclarationBNF.java
index 12cf570..811c754 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DerivedCollectionMemberDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DerivedCollectionMemberDeclarationBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a derived collection member declaration expression.
  *
- * <div><b>BNF:</b> <code>derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>derived_collection_member_declaration ::= IN superquery_identification_variable.{single_valued_object_field.}*collection_valued_field</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DivisionExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DivisionExpression.java
index ce2eed3..3b62391 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DivisionExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/DivisionExpression.java
@@ -21,7 +21,7 @@
  * One of the four binary operators. A division is a mathematical operation of dividing one operand
  * (the dividend) by a second operand (the divisor).
  *
- * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression / arithmetic_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression / arithmetic_term</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkAnonymousExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkAnonymousExpressionVisitor.java
index d3a9399..55f410f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkAnonymousExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EclipseLinkAnonymousExpressionVisitor.java
@@ -31,6 +31,12 @@
 public abstract class EclipseLinkAnonymousExpressionVisitor extends AnonymousExpressionVisitor
                                                             implements EclipseLinkExpressionVisitor {
 
+    /**
+     * Default constructor.
+     */
+    protected EclipseLinkAnonymousExpressionVisitor() {
+    }
+
     @Override
     public void visit(AsOfClause expression) {
         visit((Expression) expression);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpression.java
index bcffa8b..de2bd0c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpression.java
@@ -24,7 +24,7 @@
  * This expression tests whether or not the collection designated by the collection-valued path
  * expression is empty (i.e, has no elements).
  *
- * <div><b>BNF:</b> <code>empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY</code><p></p></div>
+ * <div><b>BNF:</b> <code>empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpressionBNF.java
index 42e8cf0..852dcfa 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EmptyCollectionComparisonExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for an empty collection comparison expression.
  *
- * <div><b>BNF:</b> <code>empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY</code><p></p></div>
+ * <div><b>BNF:</b> <code>empty_collection_comparison_expression ::= collection_valued_path_expression IS [NOT] EMPTY</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EncapsulatedIdentificationVariableExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EncapsulatedIdentificationVariableExpression.java
index 86d4ac6..56b6cd6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EncapsulatedIdentificationVariableExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EncapsulatedIdentificationVariableExpression.java
@@ -23,7 +23,7 @@
  * <p>
  * This is part of JPA 2.0.
  * </p>
- * <div><b>BNF:</b> <code>&lt;identifier&gt;(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>&lt;identifier&gt;(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityExpressionBNF.java
index 3c2a96d..b56a9dc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityExpressionBNF.java
@@ -20,11 +20,11 @@
  * <p>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>entity_expression ::= single_valued_association_path_expression |
- *                                                     simple_entity_expression</code><p></p></div>
+ *                                                     simple_entity_expression</code></div>
  *
  * JPA 2.0:
  * <div><b>BNF:</b> <code>entity_expression ::= single_valued_object_path_expression |
- *                                                     simple_entity_expression</code><p></p></div>
+ *                                                     simple_entity_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityOrValueExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityOrValueExpressionBNF.java
index 0dfb1f6..79aa21d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityOrValueExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityOrValueExpressionBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a entity or value expression.
  *
  * <div><b>BNF:</b> <code>entity_or_value_expression ::= single_valued_object_path_expression |
- * state_field_path_expression | simple_entity_or_value_expression</code><p></p></div>
+ * state_field_path_expression | simple_entity_or_value_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityTypeExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityTypeExpressionBNF.java
index 2d93a9b..bab436e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityTypeExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntityTypeExpressionBNF.java
@@ -20,7 +20,7 @@
  *
  * <div><b>BNF:</b> <code>entity_type_expression ::= type_discriminator |
  *                                                          entity_type_literal |
- *                                                          input_parameter</code><p></p></div>
+ *                                                          input_parameter</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntryExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntryExpression.java
index 26c69aa..f3d25bf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntryExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EntryExpression.java
@@ -25,7 +25,7 @@
  * <p>
  * This is part of JPA 2.0.
  * </p>
- * <div><b>BNF:</b> <code>expression ::= ENTRY(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= ENTRY(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumExpressionBNF.java
index c7a0b4b..4128b05 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a enum expression.
  *
- * <div><b>BNF:</b> <code>enum_expression ::= enum_primary | (subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>enum_expression ::= enum_primary | (subquery)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumPrimaryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumPrimaryBNF.java
index 4a9a4dd..6774df6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumPrimaryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/EnumPrimaryBNF.java
@@ -21,13 +21,13 @@
  * JPA 1.0:
  * <div><b>BNF:</b> <code>enum_primary ::= state_field_path_expression |
  *                                                enum_literal |
- *                                                input_parameter</code><p></p></div>
+ *                                                input_parameter</code></div>
  *
  * JPA 2.0:
  * <div><b>BNF:</b> <code>enum_primary ::= state_field_path_expression |
  *                                                enum_literal |
  *                                                input_parameter |
- *                                                case_expression</code><p></p></div>
+ *                                                case_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpression.java
index d7956ca..591c6aa 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpression.java
@@ -22,7 +22,7 @@
  * An <b>EXISTS</b> expression is a predicate that is <code>true</code> only if the result of the
  * subquery consists of one or more values and that is <code>false</code> otherwise.
  *
- * <div><b>BNF:</b> <code>exists_expression ::= [NOT] EXISTS(subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>exists_expression ::= [NOT] EXISTS(subquery)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpressionBNF.java
index b199a23..c167cd0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExistsExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the exists expression.
  *
- * <div><b>BNF:</b> <code>exists_expression::= [NOT] EXISTS (subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>exists_expression::= [NOT] EXISTS (subquery)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExtractExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExtractExpressionBNF.java
index 2ebfb40..62aa93a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExtractExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ExtractExpressionBNF.java
@@ -19,7 +19,6 @@
  * The query BNF for the <code>EXTRACT</code> function.
  *
  * <div><b>BNF:</b> <code>extract_expression ::= EXTRACT(date_part_literal [FROM] scalar_expression))</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClause.java
index 40b84b6..617ea5e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClause.java
@@ -23,10 +23,10 @@
  * contain multiple identification variable declarations separated by a comma (,).
  * <p>
  * JPA 1.0, 2.0, 2.1, EclipseLink 1.0 - 2.4:
- * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*</code></div>
  *
  * EclipseLink 2.5:
- * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}* [hierarchical_query_clause] [asof_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}* [hierarchical_query_clause] [asof_clause]</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClauseBNF.java
index 99f819c..7aca693 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FromClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the from clause.
  *
- * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FullyQualifyPathExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FullyQualifyPathExpressionVisitor.java
index 360c575..30f7dff 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FullyQualifyPathExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FullyQualifyPathExpressionVisitor.java
@@ -41,6 +41,12 @@
      */
     private GeneralIdentificationVariableVisitor visitor;
 
+    /**
+     * Default constructor.
+     */
+    public FullyQualifyPathExpressionVisitor() {
+    }
+
     private GeneralIdentificationVariableVisitor generalIdentificationVariableVisitor() {
         if (visitor == null) {
             visitor = new GeneralIdentificationVariableVisitor();
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpression.java
index d82b61f..63a829c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpression.java
@@ -25,7 +25,7 @@
  * <p>
  * New to JPA 2.1.
  *
- * <div><b>BNF:</b> <code>func_expression ::= &lt;identifier&gt;('function_name' {, func_item}*)</code><p></p></div>
+ * <div><b>BNF:</b> <code>func_expression ::= &lt;identifier&gt;('function_name' {, func_item}*)</code></div>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpressionBNF.java
index 316ad66..ce6c5a7 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the EclipseLink's function expression.
  *
- * <div><b>BNF:</b> <code>func_expression ::= FUNCTION('function_name' {, func_item}*)</code><p></p></div>
+ * <div><b>BNF:</b> <code>func_expression ::= FUNCTION('function_name' {, func_item}*)</code></div>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionItemBNF.java
index 6bbd166..4281e3b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionItemBNF.java
@@ -21,7 +21,7 @@
  * <div><b>BNF:</b> <code>func_item ::= literal |
  *                                             state_field_path_expression |
  *                                             input_parameter |
- *                                             scalar_expression</code><p></p></div>
+ *                                             scalar_expression</code></div>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningDatetimeBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningDatetimeBNF.java
index faadf40..a312dc1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningDatetimeBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningDatetimeBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a function expression returning a date/time value.
  *
- * <div><b>BNF:</b> <code>functions_returning_datetime ::= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP</code><p></p></div>
+ * <div><b>BNF:</b> <code>functions_returning_datetime ::= CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningNumericsBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningNumericsBNF.java
index 487c17a..1a44ce4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningNumericsBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningNumericsBNF.java
@@ -23,7 +23,7 @@
  *                                                               LOCATE(string_primary, string_primary[, simple_arithmetic_expression]) |
  *                                                               ABS(simple_arithmetic_expression) | SQRT(simple_arithmetic_expression) |
  *                                                               MOD(simple_arithmetic_expression, simple_arithmetic_expression) |
- *                                                               SIZE(collection_valued_path_expression)</code><p></p></div>
+ *                                                               SIZE(collection_valued_path_expression)</code></div>
  *
  * JPA 2.0:
  * <div><b>BNF:</b> <code>functions_returning_numerics::= LENGTH(string_primary) |
@@ -31,7 +31,7 @@
  *                                                               ABS(simple_arithmetic_expression) | SQRT(simple_arithmetic_expression) |
  *                                                               MOD(simple_arithmetic_expression, simple_arithmetic_expression) |
  *                                                               SIZE(collection_valued_path_expression) |
- *                                                               INDEX(identification_variable)</code><p></p></div>
+ *                                                               INDEX(identification_variable)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningStringsBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningStringsBNF.java
index f5d11a8..d0578c5 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningStringsBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/FunctionsReturningStringsBNF.java
@@ -21,7 +21,7 @@
  * <div><b>BNF:</b> <code>functions_returning_strings ::= CONCAT(string_primary, string_primary {, string_primary}*) |
  * SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression]) |
  * TRIM([[trim_specification] [trim_character] FROM] string_primary) |
- * LOWER(string_primary) | UPPER(string_primary)</code><p></p></div>
+ * LOWER(string_primary) | UPPER(string_primary)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralCaseExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralCaseExpressionBNF.java
index d5c3342..4b12b58 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralCaseExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralCaseExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a general case expression.
  *
- * <div><b>BNF:</b> <code>general_case_expression::= CASE when_clause {when_clause}* ELSE scalar_expression END</code><p></p></div>
+ * <div><b>BNF:</b> <code>general_case_expression::= CASE when_clause {when_clause}* ELSE scalar_expression END</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralIdentificationVariableBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralIdentificationVariableBNF.java
index 707d460..203dba1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralIdentificationVariableBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GeneralIdentificationVariableBNF.java
@@ -21,7 +21,6 @@
  * <div><b>BNF:</b> <code>general_identification_variable ::= identification_variable |
  *                                                                   KEY(identification_variable) |
  *                                                                   VALUE(identification_variable)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
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 1fd6654..9964c36 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
@@ -24,7 +24,7 @@
  * The <b>GROUP BY</b> construct enables the aggregation of values according to the properties of an
  * entity class.
  *
- * <div><b>BNF:</b> <code>groupby_clause ::= GROUP BY groupby_item {, groupby_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>groupby_clause ::= GROUP BY groupby_item {, groupby_item}*</code></div>
  *
  * @version 2.5.1
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClauseBNF.java
index 1d14625..a803a32 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the group by clause.
  *
- * <div><b>BNF:</b> <code>groupby_clause ::= GROUP BY groupby_item {, groupby_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>groupby_clause ::= GROUP BY groupby_item {, groupby_item}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByItemBNF.java
index 2a9f96b..23342dd 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/GroupByItemBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a group by item expression.
  *
- * <div><b>BNF:</b> <code>groupby_item ::= single_valued_path_expression | identification_variable</code><p></p></div>
+ * <div><b>BNF:</b> <code>groupby_item ::= single_valued_path_expression | identification_variable</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClause.java
index 0a8ca8b..0923b1e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClause.java
@@ -19,7 +19,7 @@
  * The <b>HAVING</b> construct enables conditions to be specified that further restrict the query
  * result as restrictions upon the groups.
  *
- * <div><b>BNF:</b> <code>having_clause ::= HAVING conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>having_clause ::= HAVING conditional_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClauseBNF.java
index 185f3f3..80ab9ef 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HavingClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the having clause.
  *
- * <div><b>BNF:</b> <code>having_clause ::= HAVING conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>having_clause ::= HAVING conditional_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HierarchicalQueryClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HierarchicalQueryClause.java
index 8abe6cd..02e582b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HierarchicalQueryClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/HierarchicalQueryClause.java
@@ -28,7 +28,7 @@
  * <code><b>CONNECT BY</b></code> specifies the relationship between parent rows and child rows of
  * the hierarchy.
  *
- * <div><b>BNF:</b> <code>hierarchical_query_clause ::= [start_with_clause] connectby_clause [order_siblings_by_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>hierarchical_query_clause ::= [start_with_clause] connectby_clause [order_siblings_by_clause]</code></div>
  *
  * @see StartWithClause
  * @see ConnectByClause
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 bdc2557..e17822f 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
@@ -28,7 +28,7 @@
  * case insensitive. An identification variable evaluates to a value of the type of the expression
  * used in declaring the variable.
  *
- * <div><b>BNF:</b> <code>identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*</code><p></p></div>
+ * <div><b>BNF:</b> <code>identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclarationBNF.java
index 830a575..dd58e1c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IdentificationVariableDeclarationBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for an identification variable declaration expression.
  *
- * <div><b>BNF:</b> <code>identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*</code><p></p></div>
+ * <div><b>BNF:</b> <code>identification_variable_declaration ::= range_variable_declaration { join | fetch_join }*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpression.java
index b17d915..356f2dc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpression.java
@@ -34,7 +34,7 @@
  * <p>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>in_expression ::= state_field_path_expression [NOT] IN(in_item {, in_item}* | subquery)</code></div>
- * <p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }</code></div>
  * <p>
@@ -338,7 +338,7 @@
     /**
      * Determines whether what was parsed after the <code>IN</code> identifier is a single input
      * parameter:
-     * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN collection_valued_input_parameter</code><p></p></div>
+     * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN collection_valued_input_parameter</code></div>
      *
      * @return <code>true</code> if what is following the <code>IN</code> identifier is a single
      * input parameter (without the left or right parenthesis); <code>false</code> otherwise
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionBNF.java
index fc62020..a80ca54 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for an in expression.
  *
- * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }</code><p></p></div>
+ * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionExpressionBNF.java
index ae29032..106523f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionExpressionBNF.java
@@ -19,9 +19,9 @@
  * The query BNF describes the expression being tested by the <code>IN</code> expression.
  * <p>
  * JPA 1.0:
- * <div><b>BNF:</b> <code>in_expression ::= state_field_path_expression [NOT] IN(in_item {, in_item}* | subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>in_expression ::= state_field_path_expression [NOT] IN(in_item {, in_item}* | subquery)</code></div>
  * JPA 2.0
- * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }</code><p></p></div>
+ * <div><b>BNF:</b> <code>in_expression ::= {state_field_path_expression | type_discriminator} [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter }</code></div>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionItemBNF.java
index 19b3a77..7ecb380 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InExpressionItemBNF.java
@@ -19,11 +19,11 @@
  * The query BNF for the items of an <b>IN</b> expression.
  * <p>
  * JPA 1.0:
- * <div><b>BNF:</b> <code>in_item ::= ( actual_in_item {, actual_in_item}* | subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>in_item ::= ( actual_in_item {, actual_in_item}* | subquery)</code></div>
  * <div><b>BNF:</b> <code>actual_in_item ::= literal | input_parameter</code></div>
- * <p>
+ * <br>
  * JPA 2.0:
- * <div><b>BNF:</b> <code>in_item ::= ( actual_in_item {, actual_in_item}* ) | (subquery) | collection_valued_input_parameter</code><p></p></div>
+ * <div><b>BNF:</b> <code>in_item ::= ( actual_in_item {, actual_in_item}* ) | (subquery) | collection_valued_input_parameter</code></div>
  * <div><b>BNF:</b> <code>actual_in_item ::= literal | input_parameter</code></div>
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IndexExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IndexExpression.java
index 41bf8d8..9e9de92 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IndexExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/IndexExpression.java
@@ -20,7 +20,7 @@
  * in an ordered list. The <b>INDEX</b> function can only be applied to identification variables
  * denoting types for which an order column has been specified.
  *
- * <div><b>BNF:</b> <code>expression ::= INDEX(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= INDEX(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalCoalesceExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalCoalesceExpressionBNF.java
index 3ab1c5c..d67e5df 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalCoalesceExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalCoalesceExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the parameters defined in the coalesce expression.
  *
- * <div><b>BNF:</b> <code>coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+)</code><p></p></div>
+ * <div><b>BNF:</b> <code>coalesce_expression::= COALESCE(scalar_expression {, scalar_expression}+)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalColumnExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalColumnExpressionBNF.java
index 6ce96be..8f24a76 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalColumnExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalColumnExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the items of a <b>COLUMN</b> expression.
  *
- * <div><b>BNF:</b> <code>column_expression ::= COLUMN('function' {, [single_valued_object_path_expression | identification_variable]}+)</code><p></p></div>
+ * <div><b>BNF:</b> <code>column_expression ::= COLUMN('function' {, [single_valued_object_path_expression | identification_variable]}+)</code></div>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalConcatExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalConcatExpressionBNF.java
index 76c5d04..8a0bb78 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalConcatExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalConcatExpressionBNF.java
@@ -17,16 +17,15 @@
 
 /**
  * The query BNF for the <b>COUNT</b> expression's encapsulated expressions.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_primary, string_primary)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_primary, string_primary {, string_primary}*)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= CONCAT(string_expression, string_expression {, string_expression}*)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalFromClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalFromClauseBNF.java
index 1856e14..c806020 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalFromClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalFromClauseBNF.java
@@ -18,16 +18,15 @@
 /**
  * The query BNF for the <code><b>FROM</b></code> declaration, basically what follows the
  * <code><b>FROM</b></code> identifier.
- * <p></p>
+ * <br>
  * JPA:
  * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*</code></div>
- * <p></p>
+ * <br>
  * EclipseLink 2.4:
  * <div><b>BNF:</b> <code>from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration |
  *                                                                                            collection_member_declaration |
  *                                                                                            (subquery) |
  *                                                                                            table_declaration }}*</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLengthExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLengthExpressionBNF.java
index df30b58..3e0e6f7 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLengthExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLengthExpressionBNF.java
@@ -20,10 +20,9 @@
  * <p>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LENGTH(string_primary)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LENGTH(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateStringExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateStringExpressionBNF.java
index 69942bf..006acd8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateStringExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateStringExpressionBNF.java
@@ -17,13 +17,12 @@
 
 /**
  * The query BNF for the first two parameters of the <code><b>LOCATE</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_primary, string_primary [, simple_arithmetic_expression])</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_expression, string_expression [, arithmetic_expression])</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateThirdExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateThirdExpressionBNF.java
index 003141a..fd5a782 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateThirdExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLocateThirdExpressionBNF.java
@@ -17,13 +17,12 @@
 
 /**
  * The query BNF for the third parameter of the <code><b>LOCATE</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_primary, string_primary [, simple_arithmetic_expression])</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_expression, string_expression [, arithmetic_expression])</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLowerExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLowerExpressionBNF.java
index 1e51d08..0212751 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLowerExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalLowerExpressionBNF.java
@@ -20,10 +20,9 @@
  * <p>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LOWER(string_primary)</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LOWER(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalModExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalModExpressionBNF.java
index 457211e..2123605 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalModExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalModExpressionBNF.java
@@ -17,13 +17,13 @@
 
 /**
  * The query BNF for the parameters of the <code><b>MOD</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= MOD(simple_arithmetic_expression, simple_arithmetic_expression)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= MOD(arithmetic_expression, arithmetic_expression)</code></div>
- * <p></p>
+ *
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalOrderByItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalOrderByItemBNF.java
index 751788f..a925b18 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalOrderByItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalOrderByItemBNF.java
@@ -19,8 +19,8 @@
  * The query BNF for an order by item.
  * <p>
  * JPA 1.0: <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression [ ASC | DESC ]</code></div>
- * <p>
- * JPA 2.0 <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code><p></p></div>
+ * <br>
+ * JPA 2.0 <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code></div>
  *
  * @version 2.5.1
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSimpleFromClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSimpleFromClauseBNF.java
index ca6c497..b9ecfc6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSimpleFromClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSimpleFromClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the from declaration used in a subquery.
  *
- * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration | collection_member_declaration}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration | collection_member_declaration}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSqrtExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSqrtExpressionBNF.java
index 72b91a5..642bd62 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSqrtExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSqrtExpressionBNF.java
@@ -20,10 +20,9 @@
  * <p>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= SQRT(simple_arithmetic_expression)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= SQRT(arithmetic_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringPositionExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringPositionExpressionBNF.java
index e1f08da..26ca5c4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringPositionExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringPositionExpressionBNF.java
@@ -17,16 +17,15 @@
 
 /**
  * The query BNF for the position parameters of the <code><b>SUBSTRING</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)</div>
- * <p></p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])</div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF</b> ::= SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression])</div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringStringExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringStringExpressionBNF.java
index a60c9ac..8e23162 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringStringExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalSubstringStringExpressionBNF.java
@@ -17,16 +17,15 @@
 
 /**
  * The query BNF for the parameter of the <code><b>LENGTH</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)</div>
- * <p></p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])</div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF</b> ::= SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression])</div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalUpperExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalUpperExpressionBNF.java
index 7d82afb..f3e4beb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalUpperExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalUpperExpressionBNF.java
@@ -17,13 +17,12 @@
 
 /**
  * The query BNF for the parameter of the <code><b>UPPER</b></code> expression.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= UPPER(string_primary)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= UPPER(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalWhenClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalWhenClauseBNF.java
index afa79a7..1ba7f83 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalWhenClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/InternalWhenClauseBNF.java
@@ -18,9 +18,9 @@
 /**
  * The query BNF for the expression following the <b>WHEN</b> identifier.
  *
- * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code></div>
  * or
- * <div><b>BNF:</b> <code>simple_when_clause ::= WHEN scalar_expression THEN scalar_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_when_clause ::= WHEN scalar_expression THEN scalar_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLStatementBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLStatementBNF.java
index 3ac1cbc..b5fd2df 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLStatementBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JPQLStatementBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the JPQL expression.
  *
- * <div><b>BNF:</b> QL_statement ::= <code>select_statement | update_statement | delete_statement</code><p></p></div>
+ * <div><b>BNF:</b> QL_statement ::= <code>select_statement | update_statement | delete_statement</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinAssociationPathExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinAssociationPathExpressionBNF.java
index 5dad365..a74099c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinAssociationPathExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinAssociationPathExpressionBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a join association path  expression.
  *
  * <div><b>BNF:</b> <code>join_association_path_expression ::= join_collection_valued_path_expression |
- * join_single_valued_path_expression</code><p></p></div>
+ * join_single_valued_path_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinBNF.java
index 966ca9e..2a3dc05 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the join expression.
  *
- * <div><b>BNF:</b> <code>join ::= join_spec join_association_path_expression [AS] identification_variable</code><p></p></div>
+ * <div><b>BNF:</b> <code>join ::= join_spec join_association_path_expression [AS] identification_variable</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinFetchBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinFetchBNF.java
index 61c0cae..7964915 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinFetchBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/JoinFetchBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the fetch join expression.
  *
- * <div><b>BNF:</b> <code>fetch_join ::= join_spec FETCH join_association_path_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>fetch_join ::= join_spec FETCH join_association_path_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/KeyExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/KeyExpression.java
index b34d701..db828b6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/KeyExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/KeyExpression.java
@@ -25,7 +25,7 @@
  * <p>
  * This is part of JPA 2.0.
  *
- * <div><b>BNF:</b> <code>KEY(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>KEY(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LengthExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LengthExpression.java
index b012ac8..cd34960 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LengthExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LengthExpression.java
@@ -20,10 +20,9 @@
  * <p>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LENGTH(string_primary)</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LENGTH(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpression.java
index ab9671f..822fb7a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpression.java
@@ -31,7 +31,7 @@
  * Character) and is used to escape the special meaning of the underscore and percent characters in
  * <code>pattern_value</code>.
  *
- * <div><b>BNF:</b> <code>like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]</code><p></p></div>
+ * <div><b>BNF:</b> <code>like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpressionBNF.java
index e61e0d8..d8c5832 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LikeExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a  expression.
  *
- * <div><b>BNF:</b> <code>like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]</code><p></p></div>
+ * <div><b>BNF:</b> <code>like_expression ::= string_expression [NOT] LIKE pattern_value [ESCAPE escape_character]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LocateExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LocateExpression.java
index 315c901..7e29c6a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LocateExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LocateExpression.java
@@ -23,13 +23,12 @@
  * the search is started (by default, the beginning of the string to be searched). The first
  * position in a string is denoted by 1. If the string is not found, 0 is returned. The <b>LOCATE</b>
  * function returns the length of the string in characters as an integer.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_primary, string_primary [, simple_arithmetic_expression])</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LOCATE(string_expression, string_expression [, arithmetic_expression])</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LowerExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LowerExpression.java
index 04d6a04..e420dd6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LowerExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/LowerExpression.java
@@ -17,13 +17,12 @@
 
 /**
  * The <b>LOWER</b> function converts a string to lower case and it returns a string.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= LOWER(string_primary)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= LOWER(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MaxFunction.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MaxFunction.java
index d67cfb1..a0a3237 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MaxFunction.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MaxFunction.java
@@ -20,7 +20,7 @@
  * (i.e., numeric types, string types, character types, or date types). The return type of this
  * function is based on the state-field's type.
  *
- * <div><b>BNF:</b> <code>expression ::= MAX([DISTINCT] state_field_path_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= MAX([DISTINCT] state_field_path_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MinFunction.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MinFunction.java
index e134fb5..7b120f0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MinFunction.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MinFunction.java
@@ -20,7 +20,7 @@
  * (i.e., numeric types, string types, character types, or date types). The return type of this
  * function is based on the state-field's type.
  *
- * <div><b>BNF:</b> <code>expression ::= MIN([DISTINCT] state_field_path_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= MIN([DISTINCT] state_field_path_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ModExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ModExpression.java
index fb50ba7..8700adf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ModExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ModExpression.java
@@ -17,15 +17,14 @@
 
 /**
  * The modulo operation finds the remainder of division of one number by another.
- * <p></p>
+ * <br>
  * It takes two integer arguments and returns an integer.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= MOD(simple_arithmetic_expression, simple_arithmetic_expression)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= MOD(arithmetic_expression, arithmetic_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MultiplicationExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MultiplicationExpression.java
index 7998f21..e8cc4ba 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MultiplicationExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/MultiplicationExpression.java
@@ -21,7 +21,7 @@
  * One of the four binary operators. A multiplication is a mathematical operation of scaling one
  * operand with another.
  *
- * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression * arithmetic_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression * arithmetic_term</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NewValueBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NewValueBNF.java
index 45c890e..a11813a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NewValueBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NewValueBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a new value expression.
  *
- * <div><b>BNF:</b> <code>new_value ::= scalar_expression | simple_entity_expression | NULL</code><p></p></div>
+ * <div><b>BNF:</b> <code>new_value ::= scalar_expression | simple_entity_expression | NULL</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NotExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NotExpression.java
index b271c95..38b0e22 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NotExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NotExpression.java
@@ -20,7 +20,7 @@
 import org.eclipse.persistence.jpa.jpql.WordParser;
 
 /**
- * <div><b>BNF:</b> <code>expression ::= NOT conditional_primary</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= NOT conditional_primary</code></div>
  *
  * @version 2.5
  * @since 2.3
@@ -39,7 +39,7 @@
     private boolean hasSpaceAfterNot;
 
     /**
-     * The actual <b></b> identifier found in the string representation of the JPQL query.
+     * The actual <b>NOT</b> identifier found in the string representation of the JPQL query.
      */
     private String identifier;
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpression.java
index 8cd6154..3f46dd8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpression.java
@@ -24,7 +24,7 @@
  * A null comparison tests whether or not the single-valued path expression or input parameter is a
  * <b>NULL</b> value.
  *
- * <div><b>BNF:</b> <code>null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL</code><p></p></div>
+ * <div><b>BNF:</b> <code>null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpressionBNF.java
index 68c0848..a16da6b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullComparisonExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a null comparison expression.
  *
- * <div><b>BNF:</b> <code>null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL</code><p></p></div>
+ * <div><b>BNF:</b> <code>null_comparison_expression ::= {single_valued_path_expression | input_parameter} IS [NOT] NULL</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpression.java
index 4a55366..573e1bf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpression.java
@@ -24,7 +24,7 @@
  * <p>
  * Returns the same type as the first expression.
  *
- * <div><b>BNF:</b> <code>nullif_expression::= NULLIF(scalar_expression, scalar_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>nullif_expression::= NULLIF(scalar_expression, scalar_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpressionBNF.java
index 9b15488..ed8bc58 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/NullIfExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a nullif expression.
  *
- * <div><b>BNF:</b> <code>nullif_expression::= NULLIF(scalar_expression, scalar_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>nullif_expression::= NULLIF(scalar_expression, scalar_expression)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpression.java
index 668bc91..36c3b6c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpression.java
@@ -20,7 +20,7 @@
  * the <b>OBJECT</b> operator. The <b>SELECT</b> clause must not use the <b>OBJECT</b> operator to
  * qualify path expressions.
  *
- * <div><b>BNF:</b> <code>expression ::= OBJECT(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= OBJECT(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpressionBNF.java
index 1792f4d..b085d31 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ObjectExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for an object expression.
  *
- * <div><b>BNF:</b> <code>OBJECT(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>OBJECT(identification_variable)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OnClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OnClauseBNF.java
index 3370097..64ea748 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OnClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OnClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the on clause.
  *
- * <div><b>BNF:</b> <code>on_clause ::= ON conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>on_clause ::= ON conditional_expression</code></div>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrExpression.java
index 608ecf2..a0c9f7f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrExpression.java
@@ -19,12 +19,12 @@
  * The <b>OR</b> logical operator chains multiple criteria together. A valid operand of an <b>OR</b>
  * operator must be one of: <b>TRUE</b>, <b>FALSE</b>, and <b>NULL</b>. The <b>OR</b> operator has
  * a lower precedence than the <b>AND</b> operator.
- * <p></p>
+ * <br>
  * <b>NULL</b> represents unknown. Therefore, if one operand is <b>NULL</b> and the other operand is
  * <b>TRUE</b> the result is <b>TRUE</b>, because one <b>TRUE</b> operand is sufficient for a
  * <b>TRUE</b> result. If one operand is <b>NULL</b> and the other operand is either <b>FALSE</b> or
  * <b>NULL</b>, the result is <b>NULL</b> (unknown).
- * <p></p>
+ * <br>
  *
  * <table border="1" style="border:1px outset darkgrey;">
  * <caption>The following table shows how the <code><b>OR</b></code> operator is evaluated based on its two operands:</caption>
@@ -34,7 +34,7 @@
  * <tr><td><b>NULL</b></td><td>TRUE</td><td>NULL</td><td>NULL</td></tr>
  * </table>
  *
- * <div><b>BNF:</b> <code>conditional_expression ::= conditional_expression OR conditional_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>conditional_expression ::= conditional_expression OR conditional_term</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClause.java
index 332dd6b..c44337b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClause.java
@@ -18,7 +18,7 @@
 /**
  * The <b>ORDER BY</b> clause allows the objects or values that are returned by the query to be ordered.
  *
- * <div><b>BNF:</b> <code>orderby_clause ::= <b>ORDER BY</b> {@link OrderByItem orderby_item} {, {@link OrderByItem orderby_item}}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>orderby_clause ::= <b>ORDER BY</b> {@link OrderByItem orderby_item} {, {@link OrderByItem orderby_item}}*</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClauseBNF.java
index cce2be1..b75b95c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the order by clause.
  *
- * <div><b>BNF:</b> <code>orderby_clause ::= ORDER BY orderby_item {, orderby_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>orderby_clause ::= ORDER BY orderby_item {, orderby_item}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItem.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItem.java
index 4a225c2..cccdaca 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItem.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItem.java
@@ -38,24 +38,23 @@
  * the result of an aggregate_expression, a <code>scalar_expression</code>, or a {@link
  * StateFieldPathExpression state_field_path_expression} in the <b>SELECT</b> clause.
  * </ol>
- * <p></p>
+ * <br>
  * The keyword <b>ASC</b> specifies that ascending ordering be used for the associated orderby_item;
  * the keyword <b>DESC</b> specifies that descending ordering be used. Ascending ordering is the
  * default.
- * <p></p>
+ * <br>
  * The keyword <b>NULLS FIRST</b> specifies that nulls first ordering be used for the associated orderby_item;
  * the keyword <b>NULLS LAST</b> specifies that nulls last ordering be used. Ascending ordering is the
  * default.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression [ ASC | DESC ]</code></div>
- * <p></p>
+ * <br>
  * JPA 2.0
  * <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code></div>
- * <p></p>
+ * <br>
  * EclipseLink 2.4:
  * <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItemBNF.java
index 3ff78be..82f66ae 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderByItemBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the order by item expression.
  *
- * <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code><p></p></div>
+ * <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClause.java
index e6c9b36..bd604c4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClause.java
@@ -21,7 +21,7 @@
  * or <code><b>GROUP BY</b></code> should not be used, as they will destroy the hierarchical order
  * of the <code><b>CONNECT BY</b></code> results.
  *
- * <div><b>BNF:</b> <code>order_sibling_by_clause ::= <b>ORDER SIBLINGS BY</b> {@link OrderByItem orderby_item} {, {@link OrderByItem orderby_item}}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>order_sibling_by_clause ::= <b>ORDER SIBLINGS BY</b> {@link OrderByItem orderby_item} {, {@link OrderByItem orderby_item}}*</code></div>
  *
  * @version 2.5
  * @since 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClauseBNF.java
index dcf5a99..c4331f9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/OrderSiblingsByClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the order siblings by clause.
  *
- * <div><b>BNF:</b> <code>order_sibling_by_clause ::= ORDER SIBLINGS BY orderby_item {, orderby_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>order_sibling_by_clause ::= ORDER SIBLINGS BY orderby_item {, orderby_item}*</code></div>
  *
  * @version 2.5
  * @since 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QualifiedIdentificationVariableBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QualifiedIdentificationVariableBNF.java
index e51e1e5..ded5844 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QualifiedIdentificationVariableBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/QualifiedIdentificationVariableBNF.java
@@ -19,7 +19,7 @@
  * The query BNF for a qualified identification variable expression.
  *
  * <div><b>BNF:</b> <code>qualified_identification_variable ::= KEY(identification_variable) |
- * VALUE(identification_variable) | ENTRY(identification_variable)</code><p></p></div>
+ * VALUE(identification_variable) | ENTRY(identification_variable)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclarationBNF.java
index 832e270..caf35a6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RangeVariableDeclarationBNF.java
@@ -17,13 +17,12 @@
 
 /**
  * The query BNF for a range variable declaration expression.
- * <p></p>
+ * <br>
  * JPA:
  * <div><b>BNF:</b> <code>range_variable_declaration ::= entity_name [AS] identification_variable</code></div>
- * <p></p>
+ * <br>
  * EclipseLink 2.4:
  * <div><b>BNF:</b> <code>range_variable_declaration ::= { range_variable_declaration | (subquery) } [AS] identification_variable</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RegexpExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RegexpExpressionBNF.java
index 95819bf..c0ee9d6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RegexpExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/RegexpExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a REGEXP expression.
  *
- * <div><b>BNF:</b> <code>regexp_expression ::= string_expression REGEXP pattern_value</code><p></p></div>
+ * <div><b>BNF:</b> <code>regexp_expression ::= string_expression REGEXP pattern_value</code></div>
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ResultVariable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ResultVariable.java
index a0fa1e8..3bcb7b3 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ResultVariable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ResultVariable.java
@@ -23,7 +23,7 @@
 /**
  * A result variable may be used to name a select item in the query result.
  *
- * <div><b>BNF:</b> <code>select_item ::= select_expression [[AS] result_variable]</code><p></p></div>
+ * <div><b>BNF:</b> <code>select_item ::= select_expression [[AS] result_variable]</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ScalarExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ScalarExpressionBNF.java
index dc03d01..e194d26 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ScalarExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ScalarExpressionBNF.java
@@ -23,7 +23,7 @@
  *                                                     string_primary |
  *                                                     enum_primary |
  *                                                     datetime_primary |
- *                                                     boolean_primary</code><p></p></div>
+ *                                                     boolean_primary</code></div>
  *
  * JPA 2.0
  * <div><b>BNF:</b> <code>scalar_expression ::= simple_arithmetic_expression |
@@ -32,7 +32,7 @@
  *                                                     datetime_primary |
  *                                                     boolean_primary |
  *                                                     case_expression |
- *                                                     entity_type_expression</code><p></p></div>
+ *                                                     entity_type_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClause.java
index 11ead99..5698603 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClause.java
@@ -18,7 +18,7 @@
 /**
  * The <b>SELECT</b> clause queries data from entities.
  *
- * <div><b>BNF:</b> <code>select_clause ::= SELECT [DISTINCT] select_expression {, select_expression}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>select_clause ::= SELECT [DISTINCT] select_expression {, select_expression}*</code></div>
  *
  * @see AbstractSelectClause
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClauseBNF.java
index dee0518..5eb309f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the select clause.
  *
- * <div><b>BNF:</b> <code>select_clause ::= SELECT [DISTINCT] select_item {, select_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>select_clause ::= SELECT [DISTINCT] select_item {, select_item}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectExpressionBNF.java
index 5402d60..02c880f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectExpressionBNF.java
@@ -24,7 +24,7 @@
  *                                                     identification_variable |
  *                                                     OBJECT(identification_variable) |
  *                                                     constructor_expression</code></div>
- * <p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>select_expression ::= single_valued_path_expression |
  *                                                     scalar_expression |
@@ -32,8 +32,6 @@
  *                                                     identification_variable |
  *                                                     OBJECT(identification_variable) |
  *                                                     constructor_expression</code></div>
- * <p></p>
- *
  * @version 2.5
  * @since 2.3
  * @author Pascal Filion
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatement.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatement.java
index 58c9857..a101426 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatement.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatement.java
@@ -22,7 +22,7 @@
 /**
  * A <code><b>SELECT</b></code> query is an operation that retrieves data from one or more tables or
  * views.
- * <p></p>
+ * <br>
  * JPA:
  * <div><b>BNF:</b> <code>select_statement ::= select_clause
  *                                                    from_clause
@@ -30,7 +30,7 @@
  *                                                    [groupby_clause]
  *                                                    [having_clause]
  *                                                    [orderby_clause]</code></div>
- * <p></p>
+ * <br>
  * EclipseLink 2.4:
  * <div><b>BNF:</b> <code>select_statement ::= select_clause
  *                                                    from_clause
@@ -39,7 +39,7 @@
  *                                                    [having_clause]
  *                                                    [orderby_clause]
  *                                                    {union_clause}*</code></div>
- * <p></p>
+ * <br>
  * HQL query (EclipseLink 2.5):
  * <div><b>BNF:</b> <code>select_statement ::= [select_clause]
  *                                                    from_clause
@@ -48,7 +48,6 @@
  *                                                    [having_clause]
  *                                                    [orderby_clause]
  *                                                    {union_clause}*</code></div>
- * <p></p>
  *
  * @see FromClause
  * @see GroupByClause
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatementBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatementBNF.java
index ba1370a..8e0de5c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatementBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SelectStatementBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the select statement.
  *
- * <div><b>BNF:</b> <code>select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleArithmeticExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleArithmeticExpressionBNF.java
index 05f7208..0b3d841 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleArithmeticExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleArithmeticExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a simple arithmetic expression.
  *
- * <div><b>BNF:</b> <code>simple_arithmetic_expression ::= arithmetic_term | simple_arithmetic_expression { + | - } arithmetic_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_arithmetic_expression ::= arithmetic_term | simple_arithmetic_expression { + | - } arithmetic_term</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleCaseExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleCaseExpressionBNF.java
index eeecc0d..c8e2b00 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleCaseExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleCaseExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a simple case expression.
  *
- * <div><b>BNF:</b> <code>simple_case_expression::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_case_expression::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleConditionalExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleConditionalExpressionBNF.java
index 6a6512c..9f1b059 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleConditionalExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleConditionalExpressionBNF.java
@@ -26,7 +26,6 @@
  *                                                          empty_collection_comparison_expression |
  *                                                          collection_member_expression |
  *                                                          exists_expression</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityExpressionBNF.java
index 5633f2a..90c6295 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a simple entity expression.
  *
- * <div><b>BNF:</b> <code>simple_entity_expression ::= identification_variable | input_parameter</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_entity_expression ::= identification_variable | input_parameter</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityOrValueExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityOrValueExpressionBNF.java
index bd971c0..eadf0e4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityOrValueExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleEntityOrValueExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a simple entity or value expression.
  *
- * <div><b>BNF:</b> <code>simple_entity_or_value_expression ::= identification_variable | input_parameter | literal</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_entity_or_value_expression ::= identification_variable | input_parameter | literal</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleFromClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleFromClause.java
index f91d547..6237999 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleFromClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleFromClause.java
@@ -22,7 +22,7 @@
  * designate instances of a particular entity abstract schema type. The <b>FROM</b> clause can
  * contain multiple identification variable declarations separated by a comma (,).
  *
- * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration}*</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClause.java
index b90becb..5ba75d4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClause.java
@@ -19,7 +19,7 @@
  * The <b>SELECT</b> statement queries data from entities. This version simply does not handle
  * <b>OBJECT</b> and <b>NEW</b> identifiers. It is used from within another expression.
  *
- * <div><b>BNF:</b> <code>simple_select_clause ::= SELECT [DISTINCT] simple_select_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_select_clause ::= SELECT [DISTINCT] simple_select_expression</code></div>
  *
  * @see AbstractSelectClause
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClauseBNF.java
index d575004..ea35e13 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the simple select clause.
  *
- * <div><b>BNF:</b> <code>simple_select_clause ::= SELECT [DISTINCT] simple_select_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_select_clause ::= SELECT [DISTINCT] simple_select_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectExpressionBNF.java
index 8fc4ff7..cba0517 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectExpressionBNF.java
@@ -22,7 +22,6 @@
  *                                                            scalar_expression |
  *                                                            aggregate_expression |
  *                                                            identification_variable</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectStatement.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectStatement.java
index 9e81f6b..582e465 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectStatement.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SimpleSelectStatement.java
@@ -16,7 +16,7 @@
 package org.eclipse.persistence.jpa.jpql.parser;
 
 /**
- * <div><b>BNFL</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code><p></p></div>
+ * <div><b>BNFL</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedObjectPathExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedObjectPathExpressionBNF.java
index 0a104c4..67d1935 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedObjectPathExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedObjectPathExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a simple valued object path expression.
  *
- * <div><b>BNF:</b> <code>single_valued_object_path_expression ::= general_identification_variable.{single_valued_object_field.}* single_valued_object_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>single_valued_object_path_expression ::= general_identification_variable.{single_valued_object_field.}* single_valued_object_field</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedPathExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedPathExpressionBNF.java
index e589615..33295a4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedPathExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SingleValuedPathExpressionBNF.java
@@ -20,12 +20,12 @@
  * <p>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>single_valued_path_expression ::= state_field_path_expression |
- *                                                                 single_valued_association_path_expression</code><p></p></div>
- * <p>
+ *                                                                 single_valued_association_path_expression</code></div>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>single_valued_path_expression ::= qualified_identification_variable |
  *                                                                 state_field_path_expression |
- *                                                                 single_valued_object_path_expression</code><p></p></div>
+ *                                                                 single_valued_object_path_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SizeExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SizeExpression.java
index 5a1b1e1..d6edf4b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SizeExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SizeExpression.java
@@ -21,7 +21,7 @@
  * The <b>SIZE</b> function returns an integer value, the number of elements of the collection. If
  * the collection is empty, the <b>SIZE</b> function evaluates to zero.
  *
- * <div><b>BNF:</b> <code>expression ::= SIZE(collection_valued_path_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= SIZE(collection_valued_path_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SqrtExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SqrtExpression.java
index b7f5f31..2f2bb5f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SqrtExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SqrtExpression.java
@@ -17,13 +17,12 @@
 
 /**
  * The <b>SQRT</b> function takes a numeric argument and returns a double.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= SQRT(simple_arithmetic_expression)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= SQRT(arithmetic_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClause.java
index 902c0fc..4479b12 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClause.java
@@ -20,7 +20,7 @@
  * If this clause is omitted, then Oracle uses all rows in the table as root rows. The <code><b>START
  * WITH</b></code> condition can contain a subquery, but it cannot contain a scalar subquery expression.
  *
- * <div><b>BNF:</b> <code>start_with_clause ::= <b>START WITH</b> conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>start_with_clause ::= <b>START WITH</b> conditional_expression</code></div>
  *
  * @see HierarchicalQueryClause
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClauseBNF.java
index e054f73..f44eda7 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StartWithClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the <code><b>START WITH</b></code> clause.
  *
- * <div><b>BNF:</b> <code>start_with_clause ::= START WITH conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>start_with_clause ::= START WITH conditional_expression</code></div>
  *
  * @version 2.5
  * @since 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StateFieldPathExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StateFieldPathExpression.java
index ec5eb59..8fd9be6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StateFieldPathExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StateFieldPathExpression.java
@@ -26,9 +26,9 @@
  * of an entity-state field that corresponds to an embedded class. Navigation to a related entity
  * results in a value of the related entity's abstract schema type.
  *
- * <div><b>BNF:</b> <code>state_field_path_expression ::= {identification_variable | single_valued_association_path_expression}.state_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>state_field_path_expression ::= {identification_variable | single_valued_association_path_expression}.state_field</code></div>
  *
- * <div><b>BNF:</b> <code>single_valued_association_path_expression ::= identification_variable.{single_valued_association_field.}*single_valued_association_field</code><p></p></div>
+ * <div><b>BNF:</b> <code>single_valued_association_path_expression ::= identification_variable.{single_valued_association_field.}*single_valued_association_field</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringExpressionBNF.java
index 49f5408..d1ad315 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a string expression.
  *
- * <div><b>BNF:</b> <code>string_expression ::= string_primary | (subquery)</code><p></p></div>
+ * <div><b>BNF:</b> <code>string_expression ::= string_primary | (subquery)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringPrimaryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringPrimaryBNF.java
index 0dc675a..49b090f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringPrimaryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/StringPrimaryBNF.java
@@ -17,14 +17,14 @@
 
 /**
  * The query BNF for a string primary expression.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF:</b> <code>string_primary ::= state_field_path_expression |
  *                                                  string_literal |
  *                                                  input_parameter |
  *                                                  functions_returning_strings |
  *                                                  aggregate_expression</code></div>
- * <p></p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF:</b> <code>string_primary ::= state_field_path_expression |
  *                                                  string_literal |
@@ -32,7 +32,7 @@
  *                                                  functions_returning_strings |
  *                                                  aggregate_expression |
  *                                                  case_expression</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * string_primary becomes string_expression
  * <div><b>BNF:</b> <code>string_primary ::= state_field_path_expression |
@@ -43,7 +43,6 @@
  *                                                  case_expression |
  *                                                  function_invocation |
  *                                                  (subquery)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubExpression.java
index ba614d0..ba5024b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubExpression.java
@@ -20,7 +20,7 @@
 /**
  * This expression wraps a sub-expression within parenthesis.
  *
- * <div><b>BNF:</b> <code>expression ::= (sub_expression)</code><p></p></div>
+ * <div><b>BNF:</b> <code>expression ::= (sub_expression)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubSelectIdentificationVariableDeclarationBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubSelectIdentificationVariableDeclarationBNF.java
index 3bc58a8..7188773 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubSelectIdentificationVariableDeclarationBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubSelectIdentificationVariableDeclarationBNF.java
@@ -21,7 +21,7 @@
  *
  * <div><b>BNF:</b> <code>subselect_identification_variable_declaration ::= identification_variable_declaration |
  * derived_path_expression [AS] identification_variable {join}* |
- * derived_collection_member_declaration</code><p></p></div>
+ * derived_collection_member_declaration</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryBNF.java
index e58b1d5..c69926e 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a subquery expression.
  *
- * <div><b>BNF:</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryFromClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryFromClauseBNF.java
index 7bea8a1..58802d1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryFromClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubqueryFromClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the from clause defined in a subquery.
  *
- * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration | collection_member_declaration}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>subquery_from_clause ::= FROM subselect_identification_variable_declaration {, subselect_identification_variable_declaration | collection_member_declaration}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubstringExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubstringExpression.java
index 226c5ea..efb8e27 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubstringExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubstringExpression.java
@@ -19,17 +19,17 @@
  * The second and third arguments of the <b>SUBSTRING</b> function denote the starting position and
  * length of the substring to be returned. These arguments are integers. The first position of a
  * string is denoted by 1. The <b>SUBSTRING</b> function returns a string.
- * <p></p>
+ * <br>
  * JPA 1.0:
  * <div><b>BNF</b> ::= <code>SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.0:
  * <div><b>BNF</b> ::= <code>SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF</b> ::= <code>SUBSTRING(string_expression, arithmetic_expression [, arithmetic_expression])</code></div>
  *
- * <div>Example: <b>UPDATE</b> Employee e <b>SET</b> e.firstName = <b>SUBSTRING</b>('TopLink Workbench', 1, 8)<p></p></div>
+ * <div>Example: <b>UPDATE</b> Employee e <b>SET</b> e.firstName = <b>SUBSTRING</b>('TopLink Workbench', 1, 8)</div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubtractionExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubtractionExpression.java
index 1fed11a..1ac3c7f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubtractionExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/SubtractionExpression.java
@@ -19,7 +19,7 @@
  * One of the four binary operators. A subtraction is the inverse of addition, it is a mathematical
  * operation representing the removal of the second operand from the first operand.
  *
- * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression - arithmetic_term</code><p></p></div>
+ * <div><b>BNF:</b> <code>arithmetic_expression ::= arithmetic_expression - arithmetic_term</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TrimExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TrimExpression.java
index f41d5d5..5755b40 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TrimExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TrimExpression.java
@@ -30,13 +30,13 @@
  * <div><b>BNF:</b> <code>expression ::= TRIM([[trim_specification] [trim_character] FROM] string_primary)</code></div>
  *
  * <div><b>BNF:</b> <code>trim_character ::= string_literal | input_parameter</code></div>
- * <p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= TRIM([[trim_specification] [trim_character] FROM] string_expression)</code></div>
  *
- * <div><b>BNF:</b> <code>trim_character ::= string_literal | input_parameter</code><p></p></div>
+ * <div><b>BNF:</b> <code>trim_character ::= string_literal | input_parameter</code></div>
  *
- * <div>Example: <code><b>UPDATE</b> Student st <b>SET</b> st.sname=TRIM(st.sname)</code><p></p></div>
+ * <div>Example: <code><b>UPDATE</b> Student st <b>SET</b> st.sname=TRIM(st.sname)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpression.java
index c2779a5..bf5019b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpression.java
@@ -25,7 +25,7 @@
  *
  * <div><b>BNF:</b> <code>type_discriminator ::= TYPE(identification_variable |
  *                                                           single_valued_object_path_expression |
- *                                                           input_parameter)</code><p></p></div>
+ *                                                           input_parameter)</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpressionBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpressionBNF.java
index 4a0ffc8..cb35614 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpressionBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/TypeExpressionBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for a type expression.
  *
- * <div><b>BNF:</b> <code>type_discriminator ::= TYPE(identification_variable | single_valued_object_path_expression | input_parameter)</code><p></p></div>
+ * <div><b>BNF:</b> <code>type_discriminator ::= TYPE(identification_variable | single_valued_object_path_expression | input_parameter)</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UnionClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UnionClauseBNF.java
index 5787da6..ab0502d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UnionClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UnionClauseBNF.java
@@ -19,7 +19,6 @@
  * The query BNF for the order by clause.
  *
  * <div><b>BNF:</b> <code>union_clause ::= { UNION | INTERSECT | EXCEPT } [ALL] subquery</code></div>
- * <p></p>
  *
  * @version 2.4
  * @since 2.4
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 7265c16..1d759c6 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
@@ -28,7 +28,7 @@
  * class (together with its subclasses, if any). Only one entity abstract schema type may be
  * specified in the <b>UPDATE</b> clause.
  *
- * <div><b>BNF:</b> <code>update_clause ::= UPDATE abstract_schema_name [[AS] identification_variable] SET update_item {, update_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_clause ::= UPDATE abstract_schema_name [[AS] identification_variable] SET update_item {, update_item}*</code></div>
  *
  * @see UpdateStatement
  * @see UpdateItem
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClauseBNF.java
index 181a1d4..3eb8775 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the update clause.
  *
- * <div><b>BNF:</b> <code>update_clause ::= UPDATE entity_name [[AS] identification_variable] SET update_item {, update_item}*</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_clause ::= UPDATE entity_name [[AS] identification_variable] SET update_item {, update_item}*</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItem.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItem.java
index afbc7e7..f64efc5 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItem.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItem.java
@@ -23,7 +23,7 @@
  * The <code>new_value</code> specified for an update operation must be compatible in type with the
  * field to which it is assigned.
  *
- * <div><b>BNF:</b> <code>update_item ::= [identification_variable.]{state_field | single_valued_association_field} = new_value</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_item ::= [identification_variable.]{state_field | single_valued_association_field} = new_value</code></div>
  *
  * @see UpdateClause
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItemBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItemBNF.java
index 9eb783c..70a95b6 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItemBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateItemBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the update item expression.
  *
- * <div><b>BNF:</b> <code>update_item ::= [identification_variable.]{state_field | single_valued_object_field} = new_value</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_item ::= [identification_variable.]{state_field | single_valued_object_field} = new_value</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatement.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatement.java
index c4f3096..b8e388c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatement.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatement.java
@@ -24,7 +24,7 @@
  * or values that satisfy the expression. The <b>UPDATE</b> clause restricts the result of a select
  * statement or the scope of an update operation.
  *
- * <div><b>BNF:</b> <code>update_statement ::= update_clause [where_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_statement ::= update_clause [where_clause]</code></div>
  *
  * @see JPQLExpression
  * @see UpdateClause
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatementBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatementBNF.java
index cfd48e1..36f06be 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatementBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpdateStatementBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the update statement.
  *
- * <div><b>BNF:</b> <code>update_statement ::= update_clause [where_clause]</code><p></p></div>
+ * <div><b>BNF:</b> <code>update_statement ::= update_clause [where_clause]</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpperExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpperExpression.java
index f4605d6..e8ac870 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpperExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/UpperExpression.java
@@ -17,13 +17,12 @@
 
 /**
  * The <b>UPPER</b> function converts a string to upper case and it returns a string.
- * <p></p>
+ * <br>
  * JPA 1.0, 2.0:
  * <div><b>BNF:</b> <code>expression ::= UPPER(string_primary)</code></div>
- * <p></p>
+ * <br>
  * JPA 2.1:
  * <div><b>BNF:</b> <code>expression ::= UPPER(string_expression)</code></div>
- * <p></p>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ValueExpression.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ValueExpression.java
index faa7e7e..a834fde 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ValueExpression.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/ValueExpression.java
@@ -25,7 +25,7 @@
  * <p>
  * This is part of JPA 2.0.
  *
- * <div><b>BNF:</b> <code>VALUE(identification_variable)</code><p></p></div>
+ * <div><b>BNF:</b> <code>VALUE(identification_variable)</code></div>
  *
  * @version 2.5
  * @since 2.3
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 3fbc8c5..599eefd 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
@@ -25,9 +25,9 @@
  * A <b>WHEN</b> predicate is used to calculate a condition and when it's true, its <b>THEN</b> will
  * be executed.
  *
- * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code></div>
  * or
- * <div><b>BNF:</b> <code>simple_when_clause ::= WHEN scalar_expression THEN scalar_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>simple_when_clause ::= WHEN scalar_expression THEN scalar_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClauseBNF.java
index 6df07fc..a316001 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhenClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the when clause of the case expression.
  *
- * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>when_clause ::= WHEN conditional_expression THEN scalar_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClause.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClause.java
index c6b5c1a..6a422ba 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClause.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClause.java
@@ -22,7 +22,7 @@
  * values that satisfy the expression. The <b>WHERE</b> clause restricts the result of a select
  * statement or the scope of an update or delete operation.
  *
- * <div><b>BNF:</b> <code>where_clause ::= WHERE conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>where_clause ::= WHERE conditional_expression</code></div>
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClauseBNF.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClauseBNF.java
index 3ff4e72..89976d8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClauseBNF.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/parser/WhereClauseBNF.java
@@ -18,7 +18,7 @@
 /**
  * The query BNF for the where clause.
  *
- * <div><b>BNF:</b> <code>where_clause ::= WHERE conditional_expression</code><p></p></div>
+ * <div><b>BNF:</b> <code>where_clause ::= WHERE conditional_expression</code></div>
  *
  * @version 2.4
  * @since 2.3
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 08a563a..8670d9e 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
@@ -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
@@ -63,7 +63,7 @@
  * Provisional API: This interface is part of an interim API that is still under development and
  * expected to change significantly before reaching stability. It is available at this early stage
  * to solicit feedback from pioneering adopters on the understanding that any code that uses this
- * API will almost certainly be broken (repeatedly) as the API evolves.<p>
+ * API will almost certainly be broken (repeatedly) as the API evolves.
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultJPQLQueryHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultJPQLQueryHelper.java
index 2d485c6..4ab83fc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultJPQLQueryHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/DefaultJPQLQueryHelper.java
@@ -55,7 +55,7 @@
  * Provisional API: This interface is part of an interim API that is still under development and
  * expected to change significantly before reaching stability. It is available at this early stage
  * to solicit feedback from pioneering adopters on the understanding that any code that uses this
- * API will almost certainly be broken (repeatedly) as the API evolves.<p>
+ * API will almost certainly be broken (repeatedly) as the API evolves.
  *
  * @version 2.5
  * @since 2.3
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AndExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AndExpressionStateObject.java
index 4d2ecda..3a3a933 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AndExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/AndExpressionStateObject.java
@@ -26,14 +26,14 @@
  * of an <code><b>AND</b></code> operator must be one of: <code><b>TRUE</b></code>,
  * <code><b>FALSE</b></code>, and <code><b>NULL</b></code>. The <code><b>AND</b></code> operator has
  * a higher precedence than the <code><b>OR</b></code> operator.
- * <p>
+ * <br>
  * <code><b>NULL</b></code> represents unknown. Therefore, if one operand is <code><b>NULL</b></code>
  * and the other operand is <code><b>FALSE</b></code> the result is <code><b>FALSE</b></code>,
  * because one <code><b>FALSE</b></code> operand is sufficient for a <code><b>FALSE</b></code>
  * result. If one operand is <code><b>NULL</b></code> and the other operand is either
  * <code><b>TRUE</b></code> or <code><b>NULL</b></code>, the result is <code><b>NULL</b></code>
  * (unknown).
- * <p>
+ * <br>
  *
  * <table border="1" style="border:1px outset darkgrey;">
  * <caption>The following table shows how the <code><b>AND</b></code> operator is evaluated based on its two operands:</caption>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/BetweenExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/BetweenExpressionStateObject.java
index b8c203b..85bfed9 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/BetweenExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/BetweenExpressionStateObject.java
@@ -27,7 +27,7 @@
  *
  * <div><b>BNF:</b> <code>between_expression ::= arithmetic_expression [NOT] BETWEEN arithmetic_expression AND arithmetic_expression |<br>
  *                                                      string_expression [NOT] BETWEEN string_expression AND string_expression |<br>
- *                                                      datetime_expression [NOT] BETWEEN datetime_expression AND datetime_expression</code></div><p>
+ *                                                      datetime_expression [NOT] BETWEEN datetime_expression AND datetime_expression</code></div>
  *
  * @see BetweenExpression
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrExpressionStateObject.java
index 2f19545..816d392 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrExpressionStateObject.java
@@ -32,7 +32,7 @@
  * one <code><b>TRUE</b></code> operand is sufficient for a <code><b>TRUE</b></code> result. If one
  * operand is <code><b>NULL</b></code> and the other operand is either <code><b>FALSE</b></code> or
  * <code><b>NULL</b></code>, the result is <code><b>NULL</b></code> (unknown).
- * <p>
+ *
  *
  * <table border="1" style="border:1px outset darkgrey;">
  * <caption>The following table shows how the <code><b>OR</b></code> operator is evaluated based on its two operands:</caption>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrderByItemStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrderByItemStateObject.java
index 2944944..61df135 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrderByItemStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/OrderByItemStateObject.java
@@ -48,7 +48,7 @@
  * ordering be used. Ascending ordering is the default.
  * <p>
  * JPA 1.0: <div><b>BNF:</b> <code>orderby_item ::= state_field_path_expression [ ASC | DESC ]</code></div>
- * <p>
+ * <br>
  * JPA 2.0 <div><p><b>BNF:</b> <code>orderby_item ::= state_field_path_expression | result_variable [ ASC | DESC ]</code></p></div>
  *
  * @see OrderByItem
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SimpleSelectStatementStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SimpleSelectStatementStateObject.java
index 13c4f23..a1c8577 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SimpleSelectStatementStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SimpleSelectStatementStateObject.java
@@ -21,8 +21,8 @@
 /**
  * This state object represents a subquery, which has at least a <code><b>SELECT</b></code> clause
  * and a <code><b>FROM</b></code> clause. The other clauses are optional.
- * <p>
- * <b>BNF:</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code><p>
+ * <br>
+ * <div><b>BNF:</b> <code>subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]</code></div>
  *
  * @see SimpleSelectStatement
  *
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SubstringExpressionStateObject.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SubstringExpressionStateObject.java
index 0abef4d..fca9857 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SubstringExpressionStateObject.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/query/SubstringExpressionStateObject.java
@@ -26,9 +26,9 @@
  * position of a string is denoted by 1. The <code><b>SUBSTRING</b></code> function returns a string.
  * <p>
  * JPA 1.0:
- * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)<p></div>
+ * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression, simple_arithmetic_expression)</div>
  * JPA 2.0:
- * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])<p></div>
+ * <div><b>BNF</b> ::= SUBSTRING(string_primary, simple_arithmetic_expression [, simple_arithmetic_expression])</div>
  *
  * @see SubstringExpression
  *
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 08e934a..cf547a5 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
@@ -398,6 +398,7 @@
      * @return <code>true</code> if the given identification variable maps a collection-valued field
      * defined in a <code>JOIN</code> or <code>IN</code> expression; <code>false</code> otherwise
      */
+    @SuppressWarnings("fallthrough")
     protected boolean isCollectionIdentificationVariableImp(String variableName) {
 
         for (Declaration declaration : declarations) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/CloneListIterable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/CloneListIterable.java
index f54b03f..70a879b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/CloneListIterable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/utility/iterable/CloneListIterable.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
@@ -90,6 +90,12 @@
     //********** default mutator **********
 
     protected class DefaultMutator implements CloneListIterator.Mutator<E> {
+        /**
+         * Default constructor.
+         */
+        protected DefaultMutator() {
+        }
+
         @Override
         public void add(int index, E element) {
             CloneListIterable.this.add(index, element);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLCoreTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLCoreTest.java
index f191214..96f95eb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLCoreTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLCoreTest.java
@@ -42,7 +42,7 @@
 
     /**
      * Retrieves the external form of the ORM configuration with the name retrieved from
-     * {@link #ormXmlFileName()}.
+     * {@code ormXmlFileName}.
      *
      * @param ormXmlFileName The relative path of the orm.xml to load
      * @return The external form of the ORM configuration.
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryHelperTestHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryHelperTestHelper.java
index 255e26f..da9092b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryHelperTestHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/JPQLQueryHelperTestHelper.java
@@ -22,8 +22,9 @@
 import java.lang.annotation.Target;
 
 /**
- * This annotation is used to inject a concrete instance of {@link org.eclipse.persistence.jpa.jpql.
- * AbstractJPQLQueryHelper AbstractJPQLQueryHelper} into the unit-test before it is run. It allows
+ * This annotation is used to inject a concrete instance of
+ * {@link org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper AbstractJPQLQueryHelper}
+ * into the unit-test before it is run. It allows
  * using multiple instances and the unit-tests are run with each of them separately.
  * <ul>
  * <li>Method in a test suite: Request the concrete instances that will be injected into the
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ORMJPQLQueryHelperTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ORMJPQLQueryHelperTest.java
index 6263488..4b98cb7 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ORMJPQLQueryHelperTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/ORMJPQLQueryHelperTest.java
@@ -21,7 +21,7 @@
 import static org.junit.Assert.*;
 
 /**
- * This unit-test tests {@link AbstractJPQLQueryHelper} when the queries are global and owned by an
+ * This unit-test tests {@link org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper} when the queries are global and owned by an
  * ORM configuration.
  *
  * @version 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserConcurrentTests.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserConcurrentTests.java
index 6908c50..32ea931 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserConcurrentTests.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/AllJPQLParserConcurrentTests.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
@@ -25,9 +25,9 @@
 import org.junit.runners.AllTests;
 
 /**
- * This test suite runs {@link JPQLParserThreadTest} many times and concurrently, this is trying to
- * test using the parser concurrently and making sure there is no deadlock or a {@link java.util.
- * ConcurrentModificationException} thrown by some {@link Collection} classes.
+ * This test suite runs {@link JPQLParserConcurrentTest} many times and concurrently, this is trying to
+ * test using the parser concurrently and making sure there is no deadlock or a
+ * {@link java.util.ConcurrentModificationException} thrown by some {@link java.util.Collection} classes.
  *
  * @version 2.4.1
  * @since 2.4.1
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLParserTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLParserTest.java
index 8435bd5..e8c5e94 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLParserTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLParserTest.java
@@ -240,8 +240,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      */
     protected void testInvalidQuery(String jpqlQuery,
                                     ExpressionTester expressionTester,
@@ -259,8 +259,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      */
@@ -303,8 +303,6 @@
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
      * @param jpqlGrammar The {@link JPQLGrammar} used to determine how to parse the JPQL query
-     * @param formatter This formatter is used to personalized the formatting of the JPQL query
-     * before it is used to test the generated string
      */
     protected void testQuery(String jpqlQuery,
                              ExpressionTester expressionTester,
@@ -351,8 +349,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      */
@@ -374,8 +372,8 @@
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
      * @param jpqlGrammar The {@link JPQLGrammar} used to determine how to parse the JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      * @param tolerant Determines if the parsing system should be tolerant, meaning if it should try
@@ -474,8 +472,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      * @param tolerant Determines if the parsing system should be tolerant, meaning if it should try
@@ -532,8 +530,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      */
     protected void testValidQuery(String jpqlQuery,
                                   ExpressionTester expressionTester,
@@ -551,8 +549,8 @@
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
      * @param expressionTester The tester used to verify the parsed tree is correctly representing the
      * JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.parser.
-     * JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the
+     * {@link org.eclipse.persistence.jpa.jpql.parser.JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      */
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.java
index 7710686..83d3c43 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryBuilder.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
@@ -16,11 +16,7 @@
 package org.eclipse.persistence.jpa.tests.jpql.parser;
 
 import org.eclipse.persistence.jpa.jpql.WordParser;
-import org.eclipse.persistence.jpa.jpql.parser.ExpressionRegistry;
-import org.eclipse.persistence.jpa.jpql.parser.IdentifierRole;
-import org.eclipse.persistence.jpa.jpql.parser.JPQLExpression;
-import org.eclipse.persistence.jpa.jpql.parser.JPQLGrammar;
-import org.eclipse.persistence.jpa.jpql.parser.JPQLStatementBNF;
+import org.eclipse.persistence.jpa.jpql.parser.*;
 import org.eclipse.persistence.jpa.jpql.tools.model.IJPQLQueryFormatter.IdentifierStyle;
 import static org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.*;
 import static org.eclipse.persistence.jpa.jpql.parser.Expression.*;
@@ -43,7 +39,7 @@
      * Parses the given JPQL query and tests its generated string with the given query, which will be
      * formatted first.
      *
-     * @param query The JPQL query to parse into a parsed tree
+     * @param jpqlQuery The JPQL query to parse into a parsed tree
      * @param jpqlGrammar The JPQL grammar that defines how to parse the given JPQL query
      * @param tolerant Determines if the parsing system should be tolerant, meaning if it should try
      * to parse invalid or incomplete queries
@@ -57,7 +53,7 @@
      * Parses the given JPQL query and tests its generated string with the given query, which will be
      * formatted first.
      *
-     * @param query The JPQL query to parse into a parsed tree
+     * @param jpqlQuery The JPQL query to parse into a parsed tree
      * @param jpqlGrammar The JPQL grammar that defines how to parse the given JPQL query
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
@@ -77,10 +73,9 @@
      * Parses the given JPQL query and tests its generated string with the given query, which will be
      * formatted first.
      *
-     * @param query The JPQL query to parse into a parsed tree
+     * @param jpqlQuery The JPQL query to parse into a parsed tree
      * @param jpqlGrammar The JPQL grammar that defines how to parse the given JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.
-     * parser.JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the {@link JPQLQueryBNF JPQLQueryBNF}
      * @param tolerant Determines if the parsing system should be tolerant, meaning if it should try
      * to parse invalid or incomplete queries
      * @return The parsed tree representation of the given JPQL query
@@ -99,8 +94,7 @@
      *
      * @param jpqlQuery The JPQL query to parse into a parsed tree
      * @param jpqlGrammar The JPQL grammar that defines how to parse the given JPQL query
-     * @param jpqlQueryBNFId The unique identifier of the {@link org.eclipse.persistence.jpa.jpql.
-     * parser.JPQLQueryBNF JPQLQueryBNF}
+     * @param jpqlQueryBNFId The unique identifier of the {@link JPQLQueryBNF JPQLQueryBNF}
      * @param formatter This formatter is used to personalized the formatting of the JPQL query
      * before it is used to test the generated string
      * @param tolerant Determines if the parsing system should be tolerant, meaning if it should try
@@ -142,8 +136,8 @@
     }
 
     /**
-     * Formats the given JPQL query by converting it to what {@link org.eclipse.persistence.jpa.jpql.
-     * parser.Expression#toActualText() Expression.toActualText()} would return.
+     * Formats the given JPQL query by converting it to what
+     * {@link Expression#toActualText() Expression.toActualText()} would return.
      * <p>
      * For instance, "Select e   From Employee e" will be converted to "Select e From Employee e".
      *
@@ -151,15 +145,15 @@
      * @param jpqlGrammar The {@link JPQLGrammar} is used to properly format the string
      * @return The converted string
      * @see #toParsedText(String, JPQLGrammar)
-     * @see #toText(String, JPQLGrammar)
+     * @see #toText(String, JPQLGrammar, boolean, IdentifierStyle)
      */
     public static String toActualText(String jpqlQuery, JPQLGrammar jpqlGrammar) {
         return toText(jpqlQuery, jpqlGrammar, true, IdentifierStyle.UPPERCASE);
     }
 
     /**
-     * Formats the given JPQL query by converting it to what {@link org.eclipse.persistence.jpa.jpql.
-     * parser.Expression#toParsedText() Expression.toParsedText()} would return.
+     * Formats the given JPQL query by converting it to what
+     * {@link Expression#toParsedText() Expression.toParsedText()}  would return.
      * <p>
      * For instance, "Select e   From Employee e" will be converted to "SELECT e FROM Employee e".
      *
@@ -167,7 +161,7 @@
      * @param jpqlGrammar The {@link JPQLGrammar} is used to properly format the string
      * @return The formatted JPQL query
      * @see #toActualText(String, JPQLGrammar)
-     * @see #toText(String, JPQLGrammar)
+     * @see #toText(String, JPQLGrammar, boolean, IdentifierStyle)
      */
     public static String toParsedText(String jpqlQuery, JPQLGrammar jpqlGrammar) {
         return toText(jpqlQuery, jpqlGrammar, false, IdentifierStyle.UPPERCASE);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryStringFormatter.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryStringFormatter.java
index 563e5cf..1afc848 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryStringFormatter.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/JPQLQueryStringFormatter.java
@@ -27,7 +27,7 @@
 public interface JPQLQueryStringFormatter {
 
     /**
-     * The default implementation of {@link QueryStringFormatter}, which returns the JPQL query
+     * The default implementation of {@link JPQLQueryStringFormatter}, which returns the JPQL query
      * without formatting it.
      */
     public static JPQLQueryStringFormatter DEFAULT = new JPQLQueryStringFormatter() {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkExpressionVisitor.java
index feabe55..8d86d9d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkExpressionVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractEclipseLinkExpressionVisitor}
- * implements all the methods defined on the interface {@link EclipseLinkExpressionVisitor}.
+ * implements all the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.EclipseLinkExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseChildrenVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseChildrenVisitor.java
index abfb321..8d2bf92 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseChildrenVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseChildrenVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractEclipseLinkTraverseChildrenVisitor}
- * implements all the methods defined on the interface {@link EclipseLinkTraverseChildrenVisitor}.
+ * implements all the methods defined on the interface {@link AbstractEclipseLinkTraverseChildrenVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseParentVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseParentVisitor.java
index 9d30cd2..54b266a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseParentVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractEclipseLinkTraverseParentVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractEclipseLinkTraverseParentVisitor}
- * implements all the methods defined on the interface {@link EclipseLinkTraverseParentVisitor}.
+ * implements all the methods defined on the interface {@link AbstractEclipseLinkTraverseParentVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractExpressionVisitor.java
index ac2f3ae..1b7d86d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractExpressionVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractExpressionVisitor} implements all
- * the methods defined on the interface {@link ExpressionVisitor}.
+ * the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseChildrenVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseChildrenVisitor.java
index 4bdcfd7..7f2419f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseChildrenVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseChildrenVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractTraverseChildrenVisitor}
- * implements all the methods defined on the interface {@link ExpressionVisitor}.
+ * implements all the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseParentVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseParentVisitor.java
index 380af39..af06f66 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseParentVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAbstractTraverseParentVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AbstractTraverseParentVisitor}
- * implements all the methods defined on the interface {@link ExpressionVisitor}.
+ * implements all the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAnonymousExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAnonymousExpressionVisitor.java
index 05edb36..3c11523 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAnonymousExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestAnonymousExpressionVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link AnonymousExpressionVisitor} implements
- * all the methods defined on the interface {@link ExpressionVisitor}.
+ * all the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.ExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestEclipseLinkAnonymousExpressionVisitor.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestEclipseLinkAnonymousExpressionVisitor.java
index 406f7da..154d3bc 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestEclipseLinkAnonymousExpressionVisitor.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/parser/TestEclipseLinkAnonymousExpressionVisitor.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
@@ -19,7 +19,7 @@
 
 /**
  * This class is used to make sure the parent class {@link EclipseLinkAnonymousExpressionVisitor}
- * implements all the methods defined on the interface {@link EclipseLinkExpressionVisitor}.
+ * implements all the methods defined on the interface {@link org.eclipse.persistence.jpa.jpql.parser.EclipseLinkExpressionVisitor}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractBasicRefactoringToolTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractBasicRefactoringToolTest.java
index 41b4c15..604b584 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractBasicRefactoringToolTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractBasicRefactoringToolTest.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
@@ -25,8 +25,7 @@
 import static org.junit.Assert.*;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * BasicRefactoringTool BasicRefactoringTool}.
+ * The abstract definition of a unit-test that tests {@link BasicRefactoringTool BasicRefactoringTool}.
  *
  * @version 2.5
  * @since 2.4
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 50119dc..2bc0bf5 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
@@ -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
@@ -18,6 +18,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import jpql.query.EnumType;
+import org.eclipse.persistence.jpa.jpql.tools.ContentAssistExtension;
 import org.eclipse.persistence.jpa.jpql.tools.ContentAssistProposals;
 import org.eclipse.persistence.jpa.jpql.tools.ResultQuery;
 import org.eclipse.persistence.jpa.jpql.tools.spi.IType;
@@ -27,8 +28,8 @@
 import static org.junit.Assert.*;
 
 /**
- * The unit-tests for {@link ContentAssistExtension}, which is used by {@link
- * org.eclipse.persistence.jpa.jpql.AbstractJPQLQueryHelper#buildContentAssistProposals(int, org.eclipse.persistence.jpa.jpql.ContentAssistExtension)
+ * The unit-tests for {@link org.eclipse.persistence.jpa.jpql.tools.ContentAssistExtension}, which is used by
+ * {@link org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper#buildContentAssistProposals(int, ContentAssistExtension)}
  * AbstractJPQLQueryHelper.buildContentAssistProposals(int, ContentAssistExtension)}.
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractRefactoringToolTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractRefactoringToolTest.java
index 105389b..b988da1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractRefactoringToolTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/AbstractRefactoringToolTest.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,8 +21,7 @@
 import org.eclipse.persistence.jpa.tests.jpql.tools.model.IJPQLQueryBuilderTestHelper;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * RefactoringTool RefactoringTool}.
+ * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.tools.RefactoringTool RefactoringTool}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest1_0.java
index 92d922a..2fea595 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest1_0.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
@@ -21,8 +21,8 @@
 import org.junit.Test;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * BasicRefactoringTool BasicRefactoringTool} when the JPA version is 1.0.
+ * The abstract definition of a unit-test that tests
+ * {@link BasicRefactoringTool BasicRefactoringTool} when the JPA version is 1.0.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_0.java
index 25f84f4..c3ac29a 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_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
@@ -22,8 +22,7 @@
 import static org.eclipse.persistence.jpa.tests.jpql.JPQLQueries2_0.*;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * BasicRefactoringTool BasicRefactoringTool} when the JPA version is 2.0.
+ * The abstract definition of a unit-test that tests {@link BasicRefactoringTool BasicRefactoringTool} when the JPA version is 2.0.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_1.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_1.java
index 2b2ff4f..21de08c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_1.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/BasicRefactoringToolTest2_1.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,8 +21,8 @@
 import org.junit.Test;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * BasicRefactoringTool BasicRefactoringTool} when the JPA version is 2.1.
+ * The abstract definition of a unit-test that tests
+ * {@link BasicRefactoringTool BasicRefactoringTool} when the JPA version is 2.1.
  *
  * @version 2.5
  * @since 2.4
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 181b223..105b564 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
@@ -80,7 +80,7 @@
      * information that is outside the scope of simply providing JPA metadata information,
      * such as table names, column names, class names.
      *
-     * @return By default, {@link ContentAssistExtension.NULL_HELPER} is returned
+     * @return By default, {@link ContentAssistExtension#NULL_HELPER} is returned
      */
     protected ContentAssistExtension buildContentAssistExtension() {
         return ContentAssistExtension.NULL_HELPER;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultJPQLQueryHelperTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultJPQLQueryHelperTest.java
index 9f11773..a530efb 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultJPQLQueryHelperTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/DefaultJPQLQueryHelperTest.java
@@ -21,7 +21,7 @@
 import static org.junit.Assert.*;
 
 /**
- * This unit-test tests {@link AbstractJPQLQueryHelper} when the queries are on entities managed by
+ * This unit-test tests {@link org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper} when the queries are on entities managed by
  * a persistence unit.
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ORMEntityJPQLQueryHelperTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ORMEntityJPQLQueryHelperTest.java
index 6b2b80f..423940f 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ORMEntityJPQLQueryHelperTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ORMEntityJPQLQueryHelperTest.java
@@ -22,7 +22,7 @@
 import static org.junit.Assert.*;
 
 /**
- * This unit-test tests {@link AbstractJPQLQueryHelper} when the queries are on entities managed by
+ * This unit-test tests {@link org.eclipse.persistence.jpa.jpql.tools.AbstractJPQLQueryHelper} when the queries are on entities managed by
  * an ORM configuration.
  *
  * @version 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest1_0.java
index 3fe5136..092ea36 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest1_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
@@ -22,8 +22,7 @@
 import static org.junit.Assert.*;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * RefactoringTool RefactoringTool} when the JPA version is 1.0.
+ * The abstract definition of a unit-test that tests {@link RefactoringTool RefactoringTool} when the JPA version is 1.0.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest2_1.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest2_1.java
index 674d87d..1d10041 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest2_1.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/RefactoringToolTest2_1.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
@@ -22,8 +22,8 @@
 import static org.junit.Assert.*;
 
 /**
- * The abstract definition of a unit-test that tests {@link org.eclipse.persistence.jpa.jpql.
- * RefactoringTool RefactoringTool} when the JPA version is 2.1.
+ * The abstract definition of a unit-test that tests
+ * {@link RefactoringTool RefactoringTool} when the JPA version is 2.1.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest.java
index bbd4a48..c9875e5 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AbstractStateObjectTest.java
@@ -2306,7 +2306,7 @@
     }
 
     /**
-     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link JPQLExpression})
+     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link org.eclipse.persistence.jpa.jpql.parser.JPQLExpression})
      * with the given tester, which is an equivalent representation of the parsed tree.
      * <p>
      * The parsing system will have the tolerance turned on.
@@ -2320,7 +2320,7 @@
     }
 
     /**
-     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link JPQLExpression})
+     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link org.eclipse.persistence.jpa.jpql.parser.JPQLExpression})
      * with the given tester, which is an equivalent representation of the parsed tree.
      * <p>
      * This method test both parsing modes: tolerant and non-tolerant. When the tolerant mode is
@@ -2338,7 +2338,7 @@
     }
 
     /**
-     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link JPQLExpression})
+     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link org.eclipse.persistence.jpa.jpql.parser.JPQLExpression})
      * with the given tester, which is an equivalent representation of the parsed tree.
      *
      * @param jpqlQuery The JPQL query to parse and to test the parsed tree representation
@@ -2364,7 +2364,7 @@
     }
 
     /**
-     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link JPQLExpression})
+     * Tests the parsing of the given JPQL query by comparing the parsed tree ({@link org.eclipse.persistence.jpa.jpql.parser.JPQLExpression})
      * with the given tester, which is an equivalent representation of the parsed tree.
      * <p>
      * The parsing system will have the tolerance turned off.
@@ -2794,7 +2794,7 @@
     }
 
     /**
-     * The abstract definition of an {@link ExpressionStateObjectTester}.
+     * The abstract definition of an {@link StateObjectTester}.
      */
     protected static abstract class AbstractStateObjectTester implements StateObjectTester {
 
@@ -3699,7 +3699,7 @@
     }
 
     /**
-     * StateObjectTester for {@link DeleteClause}.
+     * StateObjectTester for {@link org.eclipse.persistence.jpa.jpql.parser.DeleteClause}.
      */
     protected static final class DeleteClauseStateObjectTester extends AbstractStateObjectTester {
 
@@ -4978,7 +4978,7 @@
         EmptyCollectionComparisonExpressionStateObjectTester isNotEmpty();
 
         /**
-         * Determines whether this tester represents the {@link NullExpression}.
+         * Determines whether this tester represents the {@link org.eclipse.persistence.jpa.jpql.parser.NullExpression}.
          *
          * @return <code>true</code> if this tester represents a <code>null</code> object; false
          * otherwise
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllEclipseLinkStateObjectTest2_1.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllEclipseLinkStateObjectTest2_1.java
index ec7a3d4..cae5ac1 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllEclipseLinkStateObjectTest2_1.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllEclipseLinkStateObjectTest2_1.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
@@ -27,7 +27,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * The test suite containing the unit-tests testing the {@link StateObject} API that was extended
+ * The test suite containing the unit-tests testing the {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} API that was extended
  * with EclipseLink additional functionality.
  *
  * @version 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllJPQLQueryFormatterTests.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllJPQLQueryFormatterTests.java
index c47a6d3..9a0cc21 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllJPQLQueryFormatterTests.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllJPQLQueryFormatterTests.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,8 +25,8 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * The test suite containing the unit-tests testing the {@link org.eclipse.persistence.jpa.jpql.tools.model.
- * IJPQLQueryFormatter IJPQLQueryFormatter}.
+ * The test suite containing the unit-tests testing the
+ * {@link org.eclipse.persistence.jpa.jpql.tools.model.IJPQLQueryFormatter IJPQLQueryFormatter}.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest1_0.java
index 905bc31..057790b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest1_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
@@ -31,7 +31,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * The test suite containing the unit-tests testing the manual creation of the {@link StateObject}
+ * The test suite containing the unit-tests testing the manual creation of the {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject}
  * representation of a JPQL query defined in JPA version 1.0.
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest2_0.java
index 99e64e9..21320db 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllManualCreationStateObjectTest2_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
@@ -29,7 +29,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * The test suite containing the unit-tests testing the manual creation of the {@link StateObject}
+ * The test suite containing the unit-tests testing the manual creation of the {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject}
  * representation of a JPQL query defined in JPA version 2.0.
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest1_0.java
index 326c7af..4dc58cd 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest1_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
@@ -38,7 +38,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * This test suite containing the unit-tests testing {@link StateObject} API when the JPA version is 1.0.
+ * This test suite containing the unit-tests testing {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} API when the JPA version is 1.0.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest2_0.java
index 2568e4b..a16b835 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTest2_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
@@ -36,7 +36,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * This test suite containing the unit-tests testing {@link StateObject} API when the JPA version is 2.0.
+ * This test suite containing the unit-tests testing {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} API when the JPA version is 2.0.
  *
  * @version 2.5
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTests.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTests.java
index 0f68e0d..33e8167 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTests.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/AllStateObjectTests.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
@@ -20,7 +20,7 @@
 import org.junit.runners.Suite.SuiteClasses;
 
 /**
- * The root test suite containing the unit-tests testing the {@link StateObject} API.
+ * The root test suite containing the unit-tests testing the {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} API.
  *
  * @version 2.4
  * @since 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryBuilderTestHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryBuilderTestHelper.java
index 8760e48..6798848 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryBuilderTestHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryBuilderTestHelper.java
@@ -22,8 +22,9 @@
 import java.lang.annotation.Target;
 
 /**
- * This annotation is used to inject a concrete instance of {@link org.eclipse.persistence.jpa.jpql.
- * model.IJPQLQueryBuilder IJPQLQueryBuilder} into the unit-test before it is run. It allows using
+ * This annotation is used to inject a concrete instance of
+ * {@link org.eclipse.persistence.jpa.jpql.tools.model.IJPQLQueryBuilder IJPQLQueryBuilder}
+ * into the unit-test before it is run. It allows using
  * multiple instances and the unit-tests are run with each of them separately.
  * <ul>
  * <li>Method in a test suite: Request the concrete instances that will be injected into the
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryFormatterTestHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryFormatterTestHelper.java
index 710f4d7..bdc1ef8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryFormatterTestHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/IJPQLQueryFormatterTestHelper.java
@@ -22,8 +22,9 @@
 import java.lang.annotation.Target;
 
 /**
- * This annotation is used to inject a concrete instance of {@link org.eclipse.persistence.jpa.jpql.
- * model.IJPQLQueryFormatter IJPQLQueryFormatter} into the unit-test before it is run. It allows
+ * This annotation is used to inject a concrete instance of
+ * {@link org.eclipse.persistence.jpa.jpql.tools.model.IJPQLQueryFormatter IJPQLQueryFormatter}
+ * into the unit-test before it is run. It allows
  * using multiple instances and the unit-tests are run with each of them separately.
  * <ul>
  * <li>Method in a test suite: Request the concrete instances that will be injected into the
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest2_0.java
index 24a739a..e5593e2 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/ManualCreationStateObjectTest2_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
@@ -45,7 +45,7 @@
 import static org.eclipse.persistence.jpa.tests.jpql.JPQLQueries2_0.*;
 
 /**
- * This tests the manual creation of a {@link StateObject} that can be parsed by the JPQL grammar
+ * This tests the manual creation of a {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} that can be parsed by the JPQL grammar
  * defined in JPA 2.0.
  *
  * @version 2.5
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest1_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest1_0.java
index 996ed3e..c82ae7c 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest1_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest1_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
@@ -19,7 +19,7 @@
 import static org.eclipse.persistence.jpa.tests.jpql.JPQLQueries1_0.*;
 
 /**
- * This tests the automatic creation by the builder of a {@link StateObject} by converting the
+ * This tests the automatic creation by the builder of a {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} by converting the
  * parsed representation of a JPQL query using the JPQL grammar defined in JPA 1.0.
  *
  * @version 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest2_0.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest2_0.java
index 64b2ab4..eac9371 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest2_0.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/model/StateObjectTest2_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
@@ -19,7 +19,7 @@
 import static org.eclipse.persistence.jpa.tests.jpql.JPQLQueries2_0.*;
 
 /**
- * This tests the automatic creation by the builder of a {@link StateObject} by converting the
+ * This tests the automatic creation by the builder of a {@link org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject} by converting the
  * parsed representation of a JPQL query using the JPQL grammar defined in JPA 2.0.
  *
  * @version 2.4
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/AbstractMapping.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/AbstractMapping.java
index e7d33df..114c5ca 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/AbstractMapping.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/AbstractMapping.java
@@ -101,8 +101,8 @@
     /**
      * Calculates the type of the persistent attribute represented by this external form.
      *
-     * @return The mapping type, which is one of the constants defined in {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMappingType IMappingType} when the provider is generic JPA
+     * @return The mapping type, which is one of the constants defined in
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMappingType IMappingType} when the provider is generic JPA
      */
     protected int calculateMappingType() {
         return calculateMappingType(getMemberAnnotations());
@@ -112,8 +112,8 @@
      * Calculates the type of the mapping represented by this external form.
      *
      * @param annotations The {@link Annotation Annotations} that are present on the member
-     * @return The mapping type, which is one of the constants defined in {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMappingType IMappingType} when the provider is generic JPA
+     * @return The mapping type, which is one of the constants defined in
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMappingType IMappingType} when the provider is generic JPA
      */
     protected int calculateMappingType(Annotation[] annotations) {
 
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEmbeddable.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEmbeddable.java
index 273fc46..ea59749 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEmbeddable.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaEmbeddable.java
@@ -37,8 +37,8 @@
      *
      * @param provider The provider of JPA managed types
      * @param type The {@link org.eclipse.persistence.jpa.jpql.tools.spi.IType IType} wrapping the Java type
-     * @param mappingBuilder The builder that is responsible to create the {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMapping IMapping} wrapping a persistent attribute or property
+     * @param mappingBuilder The builder that is responsible to create the {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMapping IMapping}
+     *                      wrapping a persistent attribute or property
      */
     public JavaEmbeddable(IManagedTypeProvider provider,
                           JavaType type,
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 1c3b746..658c55e 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
@@ -55,8 +55,8 @@
      *
      * @param provider The provider of JPA managed types
      * @param type The {@link org.eclipse.persistence.jpa.jpql.tools.spi.IType IType} wrapping the Java type
-     * @param mappingBuilder The builder that is responsible to create the {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMapping IMapping} wrapping a persistent attribute or property
+     * @param mappingBuilder The builder that is responsible to create the
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMapping IMapping} wrapping a persistent attribute or property
      */
     public JavaEntity(IManagedTypeProvider provider,
                       JavaType type,
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 22acdbc..50fd659 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
@@ -60,8 +60,8 @@
     private Map<String, IMappedSuperclass> mappedSuperclasses;
 
     /**
-     * The builder that is responsible to create the {@link org.eclipse.persistence.jpa.jpql.tools.spi.
-     * IMapping IMapping} wrapping a persistent attribute or property.
+     * The builder that is responsible to create the
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMapping IMapping} wrapping a persistent attribute or property.
      */
     private IMappingBuilder<Member> mappingBuilder;
 
@@ -73,8 +73,8 @@
     /**
      * Creates a new <code>JavaManagedTypeProvider</code>.
      *
-     * @param mappingBuilder The builder that is responsible to create the {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMapping IMapping} wrapping a persistent attribute or property
+     * @param mappingBuilder The builder that is responsible to create the
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMapping IMapping} wrapping a persistent attribute or property
      * @exception NullPointerException The {@link IMappingBuilder} cannot be <code>null</code>
      */
     public JavaManagedTypeProvider(IMappingBuilder<Member> mappingBuilder) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaMappedSuperclass.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaMappedSuperclass.java
index 4f4ede4..b2d9517 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaMappedSuperclass.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/spi/java/JavaMappedSuperclass.java
@@ -37,8 +37,8 @@
      *
      * @param provider The provider of JPA managed types
      * @param type The {@link org.eclipse.persistence.jpa.jpql.tools.spi.IType IType} wrapping the Java type
-     * @param mappingBuilder The builder that is responsible to create the {@link org.eclipse.
-     * persistence.jpa.jpql.spi.IMapping IMapping} wrapping a persistent attribute or property
+     * @param mappingBuilder The builder that is responsible to create the
+     * {@link org.eclipse.persistence.jpa.jpql.tools.spi.IMapping IMapping} wrapping a persistent attribute or property
      */
     public JavaMappedSuperclass(IManagedTypeProvider provider,
                                 JavaType type,
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java b/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
index 087c5c6..0ccd75a 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
@@ -29,12 +29,12 @@
     exports org.eclipse.persistence.jpa.metadata;
     exports org.eclipse.persistence.tools.weaving.jpa;
 
-
+    //exported through JPA PUBLIC API
     exports org.eclipse.persistence.internal.jpa;
     exports org.eclipse.persistence.internal.jpa.deployment; // exp metadata/metadata.objects
     exports org.eclipse.persistence.internal.jpa.metadata.xml;
 
-    //internals accessible through o.e.p.internal.jpa.metadata.xml
+    //exported through JPA INTERNAL API
     exports org.eclipse.persistence.internal.jpa.metadata;
     exports org.eclipse.persistence.internal.jpa.metadata.accessors;
     exports org.eclipse.persistence.internal.jpa.metadata.accessors.classes;
diff --git a/jpa/org.eclipse.persistence.jpars/src/main/java/module-info.java b/jpa/org.eclipse.persistence.jpars/src/main/java/module-info.java
index a992ae5..bbba65d 100644
--- a/jpa/org.eclipse.persistence.jpars/src/main/java/module-info.java
+++ b/jpa/org.eclipse.persistence.jpars/src/main/java/module-info.java
@@ -10,15 +10,18 @@
  * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
  */
 
+/**
+ * JPA-RS REST services.
+ */
 module org.eclipse.persistence.jpars {
 
     requires jakarta.persistence;
     requires jakarta.xml.bind;
     requires jakarta.activation;
-    requires jakarta.annotation;
-    requires jakarta.ws.rs;
+    requires transitive jakarta.annotation;
+    requires transitive jakarta.ws.rs;
 
-    requires org.eclipse.persistence.dbws;
+    requires transitive org.eclipse.persistence.dbws;
     requires org.eclipse.persistence.jpa;
     requires org.eclipse.persistence.asm;
     requires org.eclipse.persistence.core;
diff --git a/jpa/org.eclipse.persistence.jpars/src/main/java/org/eclipse/persistence/jpa/rs/service/JPARSPersistenceContextFactoryProvider.java b/jpa/org.eclipse.persistence.jpars/src/main/java/org/eclipse/persistence/jpa/rs/service/JPARSPersistenceContextFactoryProvider.java
index 6f93333..dec6eb3 100644
--- a/jpa/org.eclipse.persistence.jpars/src/main/java/org/eclipse/persistence/jpa/rs/service/JPARSPersistenceContextFactoryProvider.java
+++ b/jpa/org.eclipse.persistence.jpars/src/main/java/org/eclipse/persistence/jpa/rs/service/JPARSPersistenceContextFactoryProvider.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
@@ -20,11 +20,23 @@
 import org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;
 import org.eclipse.persistence.jpa.rs.PersistenceFactoryBase;
 
+/**
+ * Concrete implementation of {@link PersistenceContextFactoryProvider}.
+ */
 public class JPARSPersistenceContextFactoryProvider implements
         PersistenceContextFactoryProvider {
 
+    /**
+     * The single point to bootstrap and look up PersistenceContexts in the JPARS application.
+     */
     protected static PersistenceContextFactory factory = new PersistenceFactoryBase();
 
+    /**
+     * Default constructor.
+     */
+    public JPARSPersistenceContextFactoryProvider() {
+    }
+
     @Override
     public PersistenceContextFactory getPersistenceContextFactory(Map<String, Object> properteis) {
         return factory;
diff --git a/moxy/org.eclipse.persistence.moxy.utils.xjc/src/main/java/module-info.java b/moxy/org.eclipse.persistence.moxy.utils.xjc/src/main/java/module-info.java
index c5a13bf..b0f2eef 100644
--- a/moxy/org.eclipse.persistence.moxy.utils.xjc/src/main/java/module-info.java
+++ b/moxy/org.eclipse.persistence.moxy.utils.xjc/src/main/java/module-info.java
@@ -10,6 +10,9 @@
  * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
  */
 
+/**
+ * MOXy implementation of XJC tool.
+ */
 module org.eclipse.persistence.moxy.xjc {
 
     requires com.sun.tools.xjc;
diff --git a/moxy/org.eclipse.persistence.moxy/pom.xml b/moxy/org.eclipse.persistence.moxy/pom.xml
index 62e4b95..3ae45bc 100644
--- a/moxy/org.eclipse.persistence.moxy/pom.xml
+++ b/moxy/org.eclipse.persistence.moxy/pom.xml
@@ -32,6 +32,7 @@
 
     <properties>
         <comp.xlint>-Xlint:all,-rawtypes,-unchecked,-serial,-exports</comp.xlint>
+        <comp.xdoclint>-Xdoclint:-missing</comp.xdoclint>
 
         <test-skip-moxy-jaxb-srg>${skipTests}</test-skip-moxy-jaxb-srg>
         <test-skip-moxy-jaxb>true</test-skip-moxy-jaxb>
@@ -148,6 +149,30 @@
                 </executions>
             </plugin>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-testCompile</id>
+                        <configuration>
+                            <!-- TODO: move OXM tests to o.e.p.core -->
+                            <compilerArgs>
+                                <arg>--add-exports</arg>
+                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.documentpreservation=org.eclipse.persistence.moxy.test</arg>
+                                <arg>--add-exports</arg>
+                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.record.deferred=org.eclipse.persistence.moxy.test</arg>
+                                <arg>--add-exports</arg>
+                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema=org.eclipse.persistence.moxy.test</arg>
+                                <arg>--add-exports</arg>
+                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.conversion=org.eclipse.persistence.moxy.test</arg>
+                                <arg>--add-exports</arg>
+                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema.model=org.eclipse.persistence.moxy.test</arg>
+                            </compilerArgs>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
                 <executions>
diff --git a/moxy/org.eclipse.persistence.moxy/src/main/java/module-info.java b/moxy/org.eclipse.persistence.moxy/src/main/java/module-info.java
index 4397245..142c087 100644
--- a/moxy/org.eclipse.persistence.moxy/src/main/java/module-info.java
+++ b/moxy/org.eclipse.persistence.moxy/src/main/java/module-info.java
@@ -27,7 +27,6 @@
     requires static com.sun.xml.bind.core;
 
     exports org.eclipse.persistence.jaxb;
-    opens org.eclipse.persistence.jaxb;
     exports org.eclipse.persistence.jaxb.attachment;
     exports org.eclipse.persistence.jaxb.compiler;
     exports org.eclipse.persistence.jaxb.compiler.builder;
@@ -46,15 +45,9 @@
     exports org.eclipse.persistence.jaxb.xmlmodel;
     opens org.eclipse.persistence.jaxb.xmlmodel to jakarta.xml.bind;
 
-    // dbws
+    //exported through MOXy PUBLIC API
     exports org.eclipse.persistence.internal.jaxb;
 
-    //tests
-    exports org.eclipse.persistence.internal.jaxb.many;
-
-    exports org.eclipse.persistence.internal.jaxb.json.schema;
-    exports org.eclipse.persistence.internal.jaxb.json.schema.model;
-
     provides jakarta.xml.bind.JAXBContextFactory with org.eclipse.persistence.jaxb.XMLBindingContextFactory;
     provides com.sun.tools.xjc.Plugin with org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin;
 }
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/deploymentxml/DeploymentXMLXsiTypeTestCases.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/deploymentxml/DeploymentXMLXsiTypeTestCases.java
index 87801fb..f33ef56 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/deploymentxml/DeploymentXMLXsiTypeTestCases.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/deploymentxml/DeploymentXMLXsiTypeTestCases.java
@@ -40,7 +40,6 @@
     }
 
     public void testDeploymentXmlConversion() {
-       XMLProjectReader reader = new XMLProjectReader();
        XMLPlatform xmlPlatform = XMLPlatformFactory.getInstance().getXMLPlatform();
        XMLParser parser = xmlPlatform.newXMLParser();
        InputStream stream = ClassLoader.getSystemResourceAsStream("org/eclipse/persistence/testing/oxm/deploymentxml/db-adapter-toplink-mapping-file.xml");
diff --git a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/simpletypes/documentpreservation/DocumentPreservationTestCases.java b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/simpletypes/documentpreservation/DocumentPreservationTestCases.java
index a25f3a5..70467df 100644
--- a/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/simpletypes/documentpreservation/DocumentPreservationTestCases.java
+++ b/moxy/org.eclipse.persistence.moxy/src/test/java/org/eclipse/persistence/testing/oxm/mappings/simpletypes/documentpreservation/DocumentPreservationTestCases.java
@@ -101,12 +101,10 @@
                 return xmlContext;
             }
             StringWriter stringWriter = new StringWriter();
-            XMLProjectWriter writer = new XMLProjectWriter();
             XMLProjectWriter.write(new EmployeeProject(), stringWriter);
 
             StringReader reader = new StringReader(stringWriter.toString());
 
-            XMLProjectReader projectReader = new XMLProjectReader();
             Project newProject = XMLProjectReader.read(reader);
 
             XMLContext newContext = new XMLContext(newProject);
diff --git a/sdo/org.eclipse.persistence.sdo/pom.xml b/sdo/org.eclipse.persistence.sdo/pom.xml
index 215b403..ccd7f02 100644
--- a/sdo/org.eclipse.persistence.sdo/pom.xml
+++ b/sdo/org.eclipse.persistence.sdo/pom.xml
@@ -34,7 +34,7 @@
         <dep.sources>${project.build.directory}/generated-sources/dependencies</dep.sources>
         <jdoc.doclint>-missing</jdoc.doclint>
         <!-- XXX deprecated comes from commonj.sdo which we don't want to touch -->
-        <comp.xlint>-Xlint:all,-rawtypes,-unchecked,-serial,-deprecation</comp.xlint>
+        <comp.xlint>-Xlint:all,-rawtypes,-unchecked,-serial,-deprecation,-dep-ann</comp.xlint>
 
         <test-skip-sdo-srg>${skipTests}</test-skip-sdo-srg>
         <test-skip-sdo>true</test-skip-sdo>
diff --git a/sdo/org.eclipse.persistence.sdo/src/main/java/module-info.java b/sdo/org.eclipse.persistence.sdo/src/main/java/module-info.java
index e3fb30e..975a4b4 100644
--- a/sdo/org.eclipse.persistence.sdo/src/main/java/module-info.java
+++ b/sdo/org.eclipse.persistence.sdo/src/main/java/module-info.java
@@ -15,8 +15,7 @@
     requires java.naming;
 
     requires org.eclipse.persistence.asm;
-    requires transitive org.eclipse.persistence.core;
-    requires org.eclipse.persistence.moxy;
+    requires transitive org.eclipse.persistence.moxy;
     requires jakarta.activation;
     requires jakarta.mail;
     requires jakarta.xml.bind;
diff --git a/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/types/SDOWrapperType.java b/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/types/SDOWrapperType.java
index 1ddd13d..702a557 100644
--- a/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/types/SDOWrapperType.java
+++ b/sdo/org.eclipse.persistence.sdo/src/main/java/org/eclipse/persistence/sdo/types/SDOWrapperType.java
@@ -276,40 +276,424 @@
         return str.toString();
     }
 
-    public static class BooleanObjectWrapperImpl extends SDODataObject {}
-    public static class BooleanWrapperImpl extends SDODataObject {}
-    public static class ByteObjectWrapperImpl extends SDODataObject {}
-    public static class BytesWrapperImpl extends SDODataObject {}
-    public static class ByteWrapperImpl extends SDODataObject {}
-    public static class Bytes_hexBunaryWrapperImpl extends SDODataObject {};
-    public static class CharacterObjectWrapperImpl extends SDODataObject {}
-    public static class CharacterWrapperImpl extends SDODataObject {}
-    public static class DateTimeWrapperImpl extends SDODataObject {}
-    public static class DateWrapperImpl extends SDODataObject {}
-    public static class DayWrapperImpl extends SDODataObject {}
-    public static class DecimalWrapperImpl extends SDODataObject {}
-    public static class DoubleObjectWrapperImpl extends SDODataObject {}
-    public static class DoubleWrapperImpl extends SDODataObject {}
-    public static class DurationWrapperImpl extends SDODataObject {}
-    public static class FloatObjectWrapperImpl extends SDODataObject {}
-    public static class FloatWrapperImpl extends SDODataObject {}
-    public static class IntegerWrapperImpl extends SDODataObject {}
-    public static class IntObjectWrapperImpl extends SDODataObject {}
-    public static class IntWrapperImpl extends SDODataObject {}
-    public static class LongObjectWrapperImpl extends SDODataObject {}
-    public static class LongWrapperImpl extends SDODataObject {}
-    public static class MonthDayWrapperImpl extends SDODataObject {}
-    public static class MonthWrapperImpl extends SDODataObject {}
-    public static class ObjectWrapperImpl extends SDODataObject {}
-    public static class ShortObjectWrapperImpl extends SDODataObject {}
-    public static class ShortWrapperImpl extends SDODataObject {}
-    public static class StringsWrapperImpl extends SDODataObject {}
-    public static class StringWrapperImpl extends SDODataObject {}
-    public static class TimeWrapperImpl extends SDODataObject {}
-    public static class URIWrapperImpl extends SDODataObject {}
-    public static class URI_QNameWrapperImpl extends SDODataObject {}
-    public static class YearMonthDayWrapperImpl extends SDODataObject {}
-    public static class YearMonthWrapperImpl extends SDODataObject {}
-    public static class YearWrapperImpl extends SDODataObject {}
+    /**
+     * Wrapper for Boolean Object datatype.
+     */
+    public static class BooleanObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public BooleanObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Boolean datatype.
+     */
+    public static class BooleanWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public BooleanWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Byte Object datatype.
+     */
+    public static class ByteObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public ByteObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Bytes datatype.
+     */
+    public static class BytesWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public BytesWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Byte datatype.
+     */
+    public static class ByteWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public ByteWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for HEX Binary datatype.
+     */
+    public static class Bytes_hexBunaryWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public Bytes_hexBunaryWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Character Object datatype.
+     */
+    public static class CharacterObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public CharacterObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Character datatype.
+     */
+    public static class CharacterWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public CharacterWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Date Time datatype.
+     */
+    public static class DateTimeWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DateTimeWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Date datatype.
+     */
+    public static class DateWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DateWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Day datatype.
+     */
+    public static class DayWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DayWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Decimal datatype.
+     */
+    public static class DecimalWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DecimalWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Double Object datatype.
+     */
+    public static class DoubleObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DoubleObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Double datatype.
+     */
+    public static class DoubleWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DoubleWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Duration datatype.
+     */
+    public static class DurationWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public DurationWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Float Object datatype.
+     */
+    public static class FloatObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public FloatObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for FLoat datatype.
+     */
+    public static class FloatWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public FloatWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Integer datatype.
+     */
+    public static class IntegerWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public IntegerWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Int Object datatype.
+     */
+    public static class IntObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public IntObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Int datatype.
+     */
+    public static class IntWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public IntWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Long Object datatype.
+     */
+    public static class LongObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public LongObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Long datatype.
+     */
+    public static class LongWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public LongWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Month Day datatype.
+     */
+    public static class MonthDayWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public MonthDayWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Month datatype.
+     */
+    public static class MonthWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public MonthWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Object datatype.
+     */
+    public static class ObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public ObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Short object datatype.
+     */
+    public static class ShortObjectWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public ShortObjectWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Short datatype.
+     */
+    public static class ShortWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public ShortWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Strings datatype.
+     */
+    public static class StringsWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public StringsWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for String datatype.
+     */
+    public static class StringWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public StringWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Time datatype.
+     */
+    public static class TimeWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public TimeWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for URI datatype.
+     */
+    public static class URIWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public URIWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for URI QName datatype.
+     */
+    public static class URI_QNameWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public URI_QNameWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for YearMonthDay datatype.
+     */
+    public static class YearMonthDayWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public YearMonthDayWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for YearMonth datatype.
+     */
+    public static class YearMonthWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public YearMonthWrapperImpl() {
+            super();
+        }
+    }
+
+    /**
+     * Wrapper for Year datatype.
+     */
+    public static class YearWrapperImpl extends SDODataObject {
+        /**
+         * Default constructor.
+         */
+        public YearWrapperImpl() {
+            super();
+        }
+    }
 
 }
diff --git a/utils/eclipselink.utils.rename/pom.xml b/utils/eclipselink.utils.rename/pom.xml
index b2ae75c..d0642a3 100644
--- a/utils/eclipselink.utils.rename/pom.xml
+++ b/utils/eclipselink.utils.rename/pom.xml
@@ -29,4 +29,8 @@
         <version>3.1.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
+
+    <properties>
+        <comp.xdoclint>-Xdoclint:-missing</comp.xdoclint>
+    </properties>
 </project>
diff --git a/utils/eclipselink.utils.sigcompare/pom.xml b/utils/eclipselink.utils.sigcompare/pom.xml
index 2f12c6c..babe776 100644
--- a/utils/eclipselink.utils.sigcompare/pom.xml
+++ b/utils/eclipselink.utils.sigcompare/pom.xml
@@ -30,6 +30,10 @@
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
+    <properties>
+        <comp.xdoclint>-Xdoclint:-missing</comp.xdoclint>
+    </properties>
+
     <dependencies>
         <!--Other modules-->
         <dependency>
diff --git a/utils/org.eclipse.persistence.dbws.builder/src/main/java/org/eclipse/persistence/tools/dbws/BaseDBWSBuilderHelper.java b/utils/org.eclipse.persistence.dbws.builder/src/main/java/org/eclipse/persistence/tools/dbws/BaseDBWSBuilderHelper.java
index 1436a49..f42b170 100644
--- a/utils/org.eclipse.persistence.dbws.builder/src/main/java/org/eclipse/persistence/tools/dbws/BaseDBWSBuilderHelper.java
+++ b/utils/org.eclipse.persistence.dbws.builder/src/main/java/org/eclipse/persistence/tools/dbws/BaseDBWSBuilderHelper.java
@@ -951,8 +951,7 @@
 
             XMLEntityMappings mappings = XmlEntityMappingsGenerator.generateXmlEntityMappings(orProject, complextypes, crudOps);
             if (mappings != null) {
-                XMLEntityMappingsWriter writer = new XMLEntityMappingsWriter();
-                writer.write(mappings, dbwsOrStream);
+                XMLEntityMappingsWriter.write(mappings, dbwsOrStream);
             }
         }
         if (!isNullStream(dbwsOxStream)) {