update dependencies, build plugins,
fix various warnings

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/jaxb-ri/boms/bom-ext/pom.xml b/jaxb-ri/boms/bom-ext/pom.xml
index 346d1ae..717d136 100644
--- a/jaxb-ri/boms/bom-ext/pom.xml
+++ b/jaxb-ri/boms/bom-ext/pom.xml
@@ -35,10 +35,10 @@
 
     <properties>
         <codemodel.version>${project.version}</codemodel.version>
-        <dtd-parser.version>1.4.4</dtd-parser.version>
+        <dtd-parser.version>1.4.5</dtd-parser.version>
         <relaxng.version>${project.version}</relaxng.version>
         <xsom.version>${project.version}</xsom.version>
-        <ant.version>1.10.9</ant.version>
+        <ant.version>1.10.11</ant.version>
     </properties>
 
     <dependencyManagement>
diff --git a/jaxb-ri/codemodel/codemodel-annotation-compiler/pom.xml b/jaxb-ri/codemodel/codemodel-annotation-compiler/pom.xml
index 4cded8f..04828a1 100644
--- a/jaxb-ri/codemodel/codemodel-annotation-compiler/pom.xml
+++ b/jaxb-ri/codemodel/codemodel-annotation-compiler/pom.xml
@@ -34,7 +34,7 @@
         <dependency>
             <groupId>org.apache.ant</groupId>
             <artifactId>ant</artifactId>
-            <version>1.10.9</version>
+            <version>1.10.11</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
diff --git a/jaxb-ri/codemodel/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java b/jaxb-ri/codemodel/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java
index e29e707..963192b 100644
--- a/jaxb-ri/codemodel/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java
+++ b/jaxb-ri/codemodel/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -59,9 +59,9 @@
      */
     private final Path classpath;
 
-    private final List<URL> endorsedJars = new ArrayList<URL>();
+    private final List<URL> endorsedJars = new ArrayList<>();
 
-    private final List<Classes> patterns = new ArrayList<Classes>();
+    private final List<Classes> patterns = new ArrayList<>();
 
     /**
      * Used during the build to load annotation classes.
@@ -303,6 +303,7 @@
     private void processDir(File dir, String prefix) {
         // look for class files
         String[] classes = dir.list(new FilenameFilter() {
+            @Override
             public boolean accept(File dir, String name) {
                 return name.endsWith(".class");
             }
@@ -314,6 +315,7 @@
 
         // look for subdirectories
         File[] subdirs = dir.listFiles(new FileFilter() {
+            @Override
             public boolean accept(File path) {
                 return path.isDirectory();
             }
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/CodeWriter.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/CodeWriter.java
index 52aee72..bd54511 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/CodeWriter.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/CodeWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -27,6 +27,8 @@
  */
 public abstract class CodeWriter {
 
+    public CodeWriter() {}
+
     /**
      * Encoding to be used by the writer. Null means platform specific encoding.
      *
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotatable.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotatable.java
index d1f27b1..cf161ee 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotatable.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotatable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -45,8 +45,11 @@
     /**
      * Adds an annotation to this program element
      * and returns a type-safe writer to fill in the values of such annotations.
+     * @param <W>
+     * @param clazz
+     * @return 
      */
-    <W extends JAnnotationWriter> W annotate2(Class<W> clazz);
+    <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz);
     
     /**
      * Read-only live view of all annotations on this {@link JAnnotatable}
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationArrayMember.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationArrayMember.java
index e7fec50..25f8443 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationArrayMember.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationArrayMember.java
@@ -235,7 +235,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz,this);
     }
     
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationValue.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationValue.java
index 7ebfd75..3c79b8a 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationValue.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationValue.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -17,4 +17,7 @@
  *     Bhakti Mehta (bhakti.mehta@sun.com)
  */
 public abstract class JAnnotationValue implements JGenerable {
+
+    protected JAnnotationValue() {}
+
 }
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JCommentPart.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JCommentPart.java
index 3c800f5..9bfc492 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JCommentPart.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JCommentPart.java
@@ -30,9 +30,12 @@
  */
 public class JCommentPart extends ArrayList<Object> {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	/**
+    protected JCommentPart() {
+    }
+
+    /**
      * Appends a new value.
      *
      * If the value is {@link JType} it will be printed as a @link tag.
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JDefinedClass.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JDefinedClass.java
index 686ee8d..20b0eea 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JDefinedClass.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JDefinedClass.java
@@ -916,7 +916,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz,this);
     }
 
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JEnumConstant.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JEnumConstant.java
index a358efa..4970205 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JEnumConstant.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JEnumConstant.java
@@ -122,7 +122,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz,this);
     }
 
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JExpressionImpl.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JExpressionImpl.java
index e9098be..3f9f91b 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JExpressionImpl.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JExpressionImpl.java
@@ -14,6 +14,10 @@
  * Provides default implementations for {@link JExpression}.
  */
 public abstract class JExpressionImpl implements JExpression {
+
+    protected JExpressionImpl() {
+    }
+
     //
     //
     // from JOp
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JForLoop.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JForLoop.java
index 838d38f..23b5541 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JForLoop.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JForLoop.java
@@ -24,7 +24,9 @@
     private JExpression test = null;
     private List<JExpression> updates = new ArrayList<>();
     private JBlock body = null;
-    
+
+    protected JForLoop() {}
+
     public JVar init(int mods, JType type, String var, JExpression e) {
         JVar v = new JVar(JMods.forVar(mods), type, var, e);
         inits.add(v);
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JJavaName.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JJavaName.java
index a024368..6cfafd7 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JJavaName.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JJavaName.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -19,6 +19,8 @@
  */
 public class JJavaName {
 
+    private JJavaName() {
+    }
 
     /**
      * Checks if a given string is usable as a Java identifier.
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMethod.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMethod.java
index 1703eb9..06572b0 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMethod.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMethod.java
@@ -236,7 +236,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz, this);
     }
 
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMod.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMod.java
index 5bc7f3c..e5a04a6 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMod.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JMod.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -15,6 +15,10 @@
  * Modifier constants.
  */
 public final class JMod {
+
+    private JMod() {
+    }
+
     public final static int NONE         = 0x000;
     public final static int PUBLIC       = 0x001;
     public final static int PROTECTED    = 0x002;
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JPackage.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JPackage.java
index 792d620..472c749 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JPackage.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JPackage.java
@@ -425,7 +425,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz,this);
     }
 
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JType.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JType.java
index 04f0c6f..0f3e41f 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JType.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JType.java
@@ -19,6 +19,8 @@
  */
 public abstract class JType implements JGenerable, Comparable<JType> {
 
+    protected JType() {}
+
     /**
      * Obtains a reference to the primitive type object from a type name.
      */
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JVar.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JVar.java
index 83a09b9..359e667 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JVar.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JVar.java
@@ -161,7 +161,7 @@
     }
 
     @Override
-    public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+    public <W extends JAnnotationWriter<? extends Annotation>> W annotate2(Class<W> clazz) {
         return TypedAnnotationWriter.create(clazz,this);
     }
 
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/SecureLoader.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/SecureLoader.java
index 1d60c82..051ec16 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/SecureLoader.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/SecureLoader.java
@@ -22,24 +22,24 @@
         if (System.getSecurityManager() == null) {
             return Thread.currentThread().getContextClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
                         @Override
-                        public java.lang.Object run() {
+                        public ClassLoader run() {
                             return Thread.currentThread().getContextClassLoader();
                         }
                     });
         }
     }
 
-    static ClassLoader getClassClassLoader(final Class c) {
+    static ClassLoader getClassClassLoader(final Class<?> c) {
         if (System.getSecurityManager() == null) {
             return c.getClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
                         @Override
-                        public java.lang.Object run() {
+                        public ClassLoader run() {
                             return c.getClassLoader();
                         }
                     });
@@ -50,10 +50,10 @@
         if (System.getSecurityManager() == null) {
             return ClassLoader.getSystemClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
                         @Override
-                        public java.lang.Object run() {
+                        public ClassLoader run() {
                             return ClassLoader.getSystemClassLoader();
                         }
                     });
@@ -65,9 +65,9 @@
             Thread.currentThread().setContextClassLoader(cl);
         } else {
             java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
+                    new java.security.PrivilegedAction<Void>() {
                         @Override
-                        public java.lang.Object run() {
+                        public Void run() {
                             Thread.currentThread().setContextClassLoader(cl);
                             return null;
                         }
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/TypedAnnotationWriter.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/TypedAnnotationWriter.java
index 59d34a5..abd2fa3 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/TypedAnnotationWriter.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/TypedAnnotationWriter.java
@@ -64,9 +64,9 @@
         return annotation;
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
-	public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
 
         if(method.getDeclaringClass()==JAnnotationWriter.class) {
             try {
@@ -141,8 +141,8 @@
         throw new IllegalArgumentException("Unable to handle this method call "+method.toString());
     }
 
-    @SuppressWarnings("unchecked")
-	private Object addArrayValue(Object proxy,String name, Class itemType, Class expectedReturnType, Object arg) {
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    private Object addArrayValue(Object proxy,String name, Class<?> itemType, Class<?> expectedReturnType, Object arg) {
         if(arrays==null)
             arrays = new HashMap<>();
         JAnnotationArrayMember m = arrays.get(name);
@@ -205,21 +205,22 @@
     /**
      * Creates a proxy and returns it.
      */
-    @SuppressWarnings("unchecked")
-	private W createProxy() {
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    private W createProxy() {
         return (W)Proxy.newProxyInstance(
-            SecureLoader.getClassClassLoader(writerType),new Class[]{writerType},this);
+            SecureLoader.getClassClassLoader(writerType),new Class<?>[]{writerType},this);
     }
 
     /**
      * Creates a new typed annotation writer.
      */
-    @SuppressWarnings("unchecked")
-	static <W extends JAnnotationWriter<?>> W create(Class<W> w, JAnnotatable annotatable) {
+    @SuppressWarnings({"unchecked", "rawtypes"})
+    static <W extends JAnnotationWriter<?>> W create(Class<W> w, JAnnotatable annotatable) {
         Class<? extends Annotation> a = findAnnotationType(w);
         return (W)new TypedAnnotationWriter(a,w,annotatable.annotate(a)).createProxy();
     }
 
+    @SuppressWarnings({"unchecked", "rawtypes"})
     private static Class<? extends Annotation> findAnnotationType(Class<?> clazz) {
         for( Type t : clazz.getGenericInterfaces()) {
             if(t instanceof ParameterizedType) {
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/fmt/SecureLoader.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/fmt/SecureLoader.java
index e3b30c2..23214ea 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/fmt/SecureLoader.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/fmt/SecureLoader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -10,8 +10,6 @@
 
 package com.sun.codemodel.fmt;
 
-import com.sun.codemodel.*;
-
 /**
  * Class defined for safe calls of getClassLoader methods of any kind (context/system/class
  * classloader. This MUST be package private and defined in every package which 
@@ -24,22 +22,24 @@
         if (System.getSecurityManager() == null) {
             return Thread.currentThread().getContextClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
-                        public java.lang.Object run() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
+                        @Override
+                        public ClassLoader run() {
                             return Thread.currentThread().getContextClassLoader();
                         }
                     });
         }
     }
 
-    static ClassLoader getClassClassLoader(final Class c) {
+    static ClassLoader getClassClassLoader(final Class<?> c) {
         if (System.getSecurityManager() == null) {
             return c.getClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
-                        public java.lang.Object run() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
+                        @Override
+                        public ClassLoader run() {
                             return c.getClassLoader();
                         }
                     });
@@ -50,9 +50,10 @@
         if (System.getSecurityManager() == null) {
             return ClassLoader.getSystemClassLoader();
         } else {
-            return (ClassLoader) java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
-                        public java.lang.Object run() {
+            return java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ClassLoader>() {
+                        @Override
+                        public ClassLoader run() {
                             return ClassLoader.getSystemClassLoader();
                         }
                     });
@@ -64,8 +65,9 @@
             Thread.currentThread().setContextClassLoader(cl);
         } else {
             java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedAction() {
-                        public java.lang.Object run() {
+                    new java.security.PrivilegedAction<Void>() {
+                        @Override
+                        public Void run() {
                             Thread.currentThread().setContextClassLoader(cl);
                             return null;
                         }
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/package-info.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/package-info.java
index 6e292aa..84374c7 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/package-info.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -63,7 +63,7 @@
  * better performance wise, here's the findings.
  *
  * <p>
- * {@link List}s {@link Map}s, and other collections take up
+ * {@link java.util.List}s {@link java.util.Map}s, and other collections take up
  * a lot of space. Allocating those things lazily is generally
  * a good idea.
  *
@@ -75,6 +75,3 @@
  *
  */
 package com.sun.codemodel;
-
-import java.util.List;
-import java.util.Map;
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/util/EncoderFactory.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/util/EncoderFactory.java
index 75de208..761f4c4 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/util/EncoderFactory.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/util/EncoderFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
@@ -24,6 +24,8 @@
  */
 public class EncoderFactory {
 
+    private EncoderFactory() {}
+
     public static CharsetEncoder createEncoder( String encoding ) {
         Charset cs = Charset.forName(encoding == null
                 ? System.getProperty("file.encoding")
diff --git a/jaxb-ri/codemodel/pom.xml b/jaxb-ri/codemodel/pom.xml
index 2194b5c..6f2d89d 100644
--- a/jaxb-ri/codemodel/pom.xml
+++ b/jaxb-ri/codemodel/pom.xml
@@ -60,7 +60,7 @@
         <spotbugs.exclude/>
         <spotbugs.skip>false</spotbugs.skip>
         <spotbugs.threshold>High</spotbugs.threshold>
-        <spotbugs.version>4.2.0</spotbugs.version>
+        <spotbugs.version>4.3.0</spotbugs.version>
 
         <upper.java.level>9</upper.java.level>
         <base.java.level>8</base.java.level>
@@ -112,7 +112,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.3.0</version>
                     <configuration>
                         <archive>
                             <manifest>
@@ -241,6 +241,8 @@
                     <compilerArgs>
                         <arg>-Xlint:all</arg>
                     </compilerArgs>
+                    <showDeprecation>true</showDeprecation>
+                    <showWarnings>true</showWarnings>
                 </configuration>
                 <executions>
                     <execution>
diff --git a/jaxb-ri/external/pom.xml b/jaxb-ri/external/pom.xml
index a0f1b46..e461b85 100644
--- a/jaxb-ri/external/pom.xml
+++ b/jaxb-ri/external/pom.xml
@@ -62,7 +62,7 @@
         <spotbugs.exclude/>
         <spotbugs.skip>false</spotbugs.skip>
         <spotbugs.threshold>High</spotbugs.threshold>
-        <spotbugs.version>4.2.0</spotbugs.version>
+        <spotbugs.version>4.3.0</spotbugs.version>
 
         <upper.java.level>9</upper.java.level>
         <base.java.level>8</base.java.level>
@@ -136,7 +136,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.3.0</version>
                     <configuration>
                         <archive>
                             <manifest>
diff --git a/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/gen/config/NGCCRuntime.java b/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/gen/config/NGCCRuntime.java
index 8c90db3..64a9e24 100644
--- a/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/gen/config/NGCCRuntime.java
+++ b/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/gen/config/NGCCRuntime.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
diff --git a/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/model/nav/ApNavigator.java b/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/model/nav/ApNavigator.java
index 940f9ac..913728a 100644
--- a/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/model/nav/ApNavigator.java
+++ b/jaxb-ri/jxc/src/main/java/com/sun/tools/jxc/model/nav/ApNavigator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
diff --git a/jaxb-ri/pom.xml b/jaxb-ri/pom.xml
index 57ce5cd..7a9f9e9 100644
--- a/jaxb-ri/pom.xml
+++ b/jaxb-ri/pom.xml
@@ -79,7 +79,7 @@
         <spotbugs.exclude/>
         <spotbugs.skip>false</spotbugs.skip>
         <spotbugs.threshold>High</spotbugs.threshold>
-        <spotbugs.version>4.2.0</spotbugs.version>
+        <spotbugs.version>4.3.0</spotbugs.version>
 
         <junit.version>4.13.2</junit.version>
 
@@ -145,7 +145,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-resources-plugin</artifactId>
-                    <version>3.1.0</version>
+                    <version>3.2.0</version>
                     <configuration>
                         <escapeString>\</escapeString>
                     </configuration>
@@ -179,7 +179,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-dependency-plugin</artifactId>
-                    <version>3.1.2</version>
+                    <version>3.2.0</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -241,7 +241,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.3.0</version>
                     <configuration>
                         <archive>
                             <manifest>
@@ -581,7 +581,7 @@
                         <plugin>
                             <groupId>org.jacoco</groupId>
                             <artifactId>jacoco-maven-plugin</artifactId>
-                            <version>0.8.6</version>
+                            <version>0.8.7</version>
                         </plugin>
                     </plugins>
                 </pluginManagement>
diff --git a/jaxb-ri/xjc/src/main/java/com/sun/tools/xjc/reader/dtd/bindinfo/BindInfo.java b/jaxb-ri/xjc/src/main/java/com/sun/tools/xjc/reader/dtd/bindinfo/BindInfo.java
index 91fdff1..b19baec 100644
--- a/jaxb-ri/xjc/src/main/java/com/sun/tools/xjc/reader/dtd/bindinfo/BindInfo.java
+++ b/jaxb-ri/xjc/src/main/java/com/sun/tools/xjc/reader/dtd/bindinfo/BindInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
diff --git a/jaxb-ri/xjc/src/main/java/module-info.java b/jaxb-ri/xjc/src/main/java/module-info.java
index 774de1d..0f9360b 100644
--- a/jaxb-ri/xjc/src/main/java/module-info.java
+++ b/jaxb-ri/xjc/src/main/java/module-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Distribution License v. 1.0, which is available at
diff --git a/jaxb-ri/xsom/pom.xml b/jaxb-ri/xsom/pom.xml
index 7d9fbed..a7b98e4 100644
--- a/jaxb-ri/xsom/pom.xml
+++ b/jaxb-ri/xsom/pom.xml
@@ -64,7 +64,7 @@
         <spotbugs.exclude>${project.basedir}/exclude-xsom.xml</spotbugs.exclude>
         <spotbugs.skip>false</spotbugs.skip>
         <spotbugs.threshold>Low</spotbugs.threshold>
-        <spotbugs.version>4.2.0</spotbugs.version>
+        <spotbugs.version>4.3.0</spotbugs.version>
 
         <relaxng.version>${project.version}</relaxng.version>
         <junit.version>4.13.2</junit.version>
@@ -127,7 +127,7 @@
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.2.0</version>
+                    <version>3.3.0</version>
                     <configuration>
                         <archive>
                             <manifest>
@@ -349,7 +349,7 @@
                         <plugin>
                             <groupId>org.jacoco</groupId>
                             <artifactId>jacoco-maven-plugin</artifactId>
-                            <version>0.8.6</version>
+                            <version>0.8.7</version>
                         </plugin>
                     </plugins>
                 </pluginManagement>