warnings in xsom, visibility related fixes

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/jaxb-ri/bundles/core/pom.xml b/jaxb-ri/bundles/core/pom.xml
index 7839793..abc857f 100644
--- a/jaxb-ri/bundles/core/pom.xml
+++ b/jaxb-ri/bundles/core/pom.xml
@@ -219,7 +219,6 @@
                         <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                         <manifestEntries>
                             <Class-Path>jakarta.activation-api.jar jakarta.xml.bind-api.jar</Class-Path>
-                            <Multi-Release>true</Multi-Release>
                         </manifestEntries>
                     </archive>
                 </configuration>
diff --git a/jaxb-ri/bundles/jxc/src/main/java/module-info.java b/jaxb-ri/bundles/jxc/src/main/java/module-info.java
index bf24aa6..3a77e1d 100644
--- a/jaxb-ri/bundles/jxc/src/main/java/module-info.java
+++ b/jaxb-ri/bundles/jxc/src/main/java/module-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2022 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,7 +10,7 @@
 
 module com.sun.tools.jxc {
     requires transitive jakarta.xml.bind;
-    requires java.compiler;
+    requires transitive java.compiler;
     requires jdk.compiler;
     requires java.logging;
     requires transitive com.sun.xml.bind;
diff --git a/jaxb-ri/bundles/osgi/osgi/pom.xml b/jaxb-ri/bundles/osgi/osgi/pom.xml
index 326ee3b..4c5048b 100644
--- a/jaxb-ri/bundles/osgi/osgi/pom.xml
+++ b/jaxb-ri/bundles/osgi/osgi/pom.xml
@@ -298,7 +298,6 @@
                         <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                         <manifestEntries>
                             <Class-Path>jakarta.xml.bind-api.jar</Class-Path>
-                            <Multi-Release>true</Multi-Release>
                         </manifestEntries>
                     </archive>
                 </configuration>
@@ -329,18 +328,6 @@
             </plugin>
 
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Multi-Release>true</Multi-Release>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-
-            <plugin>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
                     <sourceFileExcludes>
diff --git a/jaxb-ri/bundles/osgi/osgi/src/main/java/module-info.java b/jaxb-ri/bundles/osgi/osgi/src/main/java/module-info.java
index 797cae6..6503f1f 100644
--- a/jaxb-ri/bundles/osgi/osgi/src/main/java/module-info.java
+++ b/jaxb-ri/bundles/osgi/osgi/src/main/java/module-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2019, 2022 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
@@ -13,9 +13,9 @@
     requires transitive jakarta.xml.bind;
     requires transitive jakarta.activation;
     requires transitive java.xml;
-    requires java.compiler;
+    requires transitive java.compiler;
     requires java.desktop;
-    requires java.logging;
+    requires transitive java.logging;
     requires static jdk.compiler;
 
     exports com.sun.istack;
diff --git a/jaxb-ri/bundles/runtime/pom.xml b/jaxb-ri/bundles/runtime/pom.xml
index 913372d..2273364 100644
--- a/jaxb-ri/bundles/runtime/pom.xml
+++ b/jaxb-ri/bundles/runtime/pom.xml
@@ -187,7 +187,6 @@
                         <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                         <manifestEntries>
                             <Class-Path>jaxb-core.jar angus-activation.jar</Class-Path>
-                            <Multi-Release>true</Multi-Release>
                         </manifestEntries>
                     </archive>
                 </configuration>
diff --git a/jaxb-ri/bundles/xjc/pom.xml b/jaxb-ri/bundles/xjc/pom.xml
index 73fc0ca..fc61491 100644
--- a/jaxb-ri/bundles/xjc/pom.xml
+++ b/jaxb-ri/bundles/xjc/pom.xml
@@ -223,7 +223,6 @@
                         <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                         <manifestEntries>
                             <Class-Path>jaxb-core.jar jaxb-impl.jar</Class-Path>
-                            <Multi-Release>true</Multi-Release>
                         </manifestEntries>
                         <manifest>
                             <mainClass>com.sun.tools.xjc.XJCFacade</mainClass>
@@ -233,18 +232,6 @@
             </plugin>
 
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <configuration>
-                    <archive>
-                        <manifestEntries>
-                            <Multi-Release>true</Multi-Release>
-                        </manifestEntries>
-                    </archive>
-                </configuration>
-            </plugin>
-
-            <plugin>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <configuration>
                     <sourceFileExcludes>
diff --git a/jaxb-ri/xsom/pom.xml b/jaxb-ri/xsom/pom.xml
index 9bb85f3..1bf5ba0 100644
--- a/jaxb-ri/xsom/pom.xml
+++ b/jaxb-ri/xsom/pom.xml
@@ -66,6 +66,9 @@
         <spotbugs.threshold>Low</spotbugs.threshold>
         <spotbugs.version>4.5.3.0</spotbugs.version>
 
+        <maven.compiler.release>11</maven.compiler.release>
+        <maven.compiler.testRelease>11</maven.compiler.testRelease>
+
         <relaxng.version>${project.version}</relaxng.version>
         <junit.version>4.13.2</junit.version>
         <!-- exclude big groups from the Xlint -->
@@ -75,6 +78,10 @@
         <warn.limit>150000</warn.limit>
         <!-- too many to fix -->
         <jdoc.doclint>all,-missing</jdoc.doclint>
+        <!-- not interested in warnings from tests (yet) -->
+        <comp.test.xlint>-Xlint:none</comp.test.xlint>
+        <comp.test.xdoclint>-Xdoclint:none</comp.test.xdoclint>
+        <warn.test.limit>10</warn.test.limit>
     </properties>
 
     <dependencies>
@@ -133,18 +140,6 @@
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
                     <version>3.3.2</version>
-                    <configuration>
-                        <archive>
-                            <manifest>
-                                <addDefaultEntries>false</addDefaultEntries>
-                            </manifest>
-                        </archive>
-                        <release>11</release>
-                        <notimestamp>true</notimestamp>
-                        <!-- too many to fix -->
-                        <doclint>-missing</doclint>
-                        <quiet>true</quiet>
-                    </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -219,16 +214,37 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <release>11</release>
-                    <compilerArgs combine.children="append">
-                        <arg>${comp.xlint}</arg>
-                        <arg>${comp.xdoclint}</arg>
-                        <arg>-Xmaxwarns</arg>
-                        <arg>${warn.limit}</arg>
-                        <arg>-Xmaxerrs</arg>
-                        <arg>${warn.limit}</arg>
-                    </compilerArgs>
+                    <showDeprecation>true</showDeprecation>
+                    <showWarnings>true</showWarnings>
                 </configuration>
+                <executions>
+                    <execution>
+                        <id>default-compile</id>
+                        <configuration>
+                            <compilerArgs combine.children="append">
+                                <arg>${comp.xlint}</arg>
+                                <arg>${comp.xdoclint}</arg>
+                                <arg>-Xmaxwarns</arg>
+                                <arg>${warn.limit}</arg>
+                                <arg>-Xmaxerrs</arg>
+                                <arg>${warn.limit}</arg>
+                            </compilerArgs>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>default-testCompile</id>
+                        <configuration>
+                            <compilerArgs combine.children="append">
+                                <arg>${comp.test.xlint}</arg>
+                                <arg>${comp.test.xdoclint}</arg>
+                                <arg>-Xmaxwarns</arg>
+                                <arg>${warn.test.limit}</arg>
+                                <arg>-Xmaxerrs</arg>
+                                <arg>${warn.test.limit}</arg>
+                            </compilerArgs>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -335,6 +351,20 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifest>
+                            <addDefaultEntries>false</addDefaultEntries>
+                        </manifest>
+                    </archive>
+                    <notimestamp>true</notimestamp>
+                    <doclint>${jdoc.doclint}</doclint>
+                    <quiet>true</quiet>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/SCD.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/SCD.java
index 6aaf921..6366352 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/SCD.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/SCD.java
@@ -39,6 +39,11 @@
 public abstract class SCD {
 
     /**
+     * Default constructor.
+     */
+    protected SCD () {}
+
+    /**
      * Parses the string representation of SCD.
      *
      * <p>
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Const.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Const.java
index 2bc623f..fd42fdf 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Const.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Const.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2022 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,10 @@
 
 package com.sun.xml.xsom.impl;
 
-public class Const
+public final class Const
 {
+    private Const() {};
+
     /** Namespace URI of XML Schema. */
     public static final String schemaNamespace = "http://www.w3.org/2001/XMLSchema";
 }
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Ref.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Ref.java
index 8c8518e..a42e9c9 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Ref.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/Ref.java
@@ -37,7 +37,12 @@
  * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  */
 public abstract class Ref {
-    
+
+    /**
+     * Default constructor.
+     */
+    protected Ref() {}
+
     public interface Term {
         /** Obtains a reference as a term. */
         XSTerm getTerm();
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/SchemaSetImpl.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/SchemaSetImpl.java
index 35881e3..c69e066 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/SchemaSetImpl.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/SchemaSetImpl.java
@@ -60,6 +60,11 @@
     private final List<XSSchema> readonlySchemaList = Collections.unmodifiableList(schemas2);
 
     /**
+     * Default constructor.
+     */
+    public SchemaSetImpl() {}
+
+    /**
      * Gets a reference to the existing schema or creates a new one
      * if none exists yet.
      */
@@ -235,7 +240,7 @@
 
     public XSSimpleType getAnySimpleType() { return anySimpleType; }
     public final AnySimpleType anySimpleType = new AnySimpleType();
-    private class AnySimpleType extends DeclarationImpl
+    public class AnySimpleType extends DeclarationImpl
         implements XSRestrictionSimpleType, Ref.SimpleType {
 
         AnySimpleType() {
@@ -294,7 +299,7 @@
 
     public XSComplexType getAnyType() { return anyType; }
     public final AnyType anyType = new AnyType();
-    private class AnyType extends DeclarationImpl implements XSComplexType, Ref.Type {
+    public class AnyType extends DeclarationImpl implements XSComplexType, Ref.Type {
         AnyType() {
             super(null,null,null,null,"http://www.w3.org/2001/XMLSchema","anyType",false);
         }
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/UName.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/UName.java
index ebca5df..b031bf8 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/UName.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/UName.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2022 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
@@ -78,10 +78,8 @@
     /**
      * Compares {@link UName}s by their names.
      */
-    public static final Comparator comparator = new Comparator() {
-        public int compare(Object o1, Object o2) {
-            UName lhs = (UName)o1;
-            UName rhs = (UName)o2;
+    public static final Comparator<UName> comparator = new Comparator<UName>() {
+        public int compare(UName lhs, UName rhs) {
             int r = lhs.nsUri.compareTo(rhs.nsUri);
             if(r!=0)    return r;
             return lhs.localName.compareTo(rhs.localName);
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/parser/Messages.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/parser/Messages.java
index 756abd0..37248c9 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/parser/Messages.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/parser/Messages.java
@@ -16,8 +16,10 @@
 /**
  * Formats error messages.
  */
-public class Messages
-{
+public final class Messages {
+
+    private Messages() {}
+
     /** Loads a string resource and formats it with specified arguments. */
     public static String format( String property, Object... args ) {
         String text = ResourceBundle.getBundle(
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/AbstractAxisImpl.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/AbstractAxisImpl.java
index a72d644..bdf996a 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/AbstractAxisImpl.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/AbstractAxisImpl.java
@@ -50,8 +50,7 @@
         return Iterators.singleton(t);
     }
 
-    @SafeVarargs
-    protected final Iterator<T> union(T... items) {
+    protected final Iterator<T> union(T[] items) {
         return new Iterators.Array<>(items);
     }
 
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/ParseException.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/ParseException.java
index 75b70c9..2fc9847 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/ParseException.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/ParseException.java
@@ -24,6 +24,8 @@
  */
 public class ParseException extends Exception {
 
+    private static final long serialVersionUID = -1892857266151029978L;
+
   /**
    * This constructor is used by the method "generateParseException"
    * in the generated parser.  Calling this constructor generates
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/TokenMgrError.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/TokenMgrError.java
index 288fd45..737cbf3 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/TokenMgrError.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/scd/TokenMgrError.java
@@ -11,8 +11,10 @@
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */
 package com.sun.xml.xsom.impl.scd;
 
-public class TokenMgrError extends Error
-{
+public class TokenMgrError extends Error {
+
+   private static final long serialVersionUID = -7661331941187774350L;
+
    /*
     * Ordinals for various reasons why an Error of this type can be thrown.
     */
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/DraconianErrorHandler.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/DraconianErrorHandler.java
index 7c33f2a..e3c9d9a 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/DraconianErrorHandler.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/DraconianErrorHandler.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2022 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
@@ -18,6 +18,12 @@
  * Aborts on the first error.
  */
 public class DraconianErrorHandler implements ErrorHandler {
+
+    /**
+     * Default constructor.
+     */
+    public DraconianErrorHandler() {}
+
     public void error( SAXParseException e ) throws SAXException {
         throw e;
     }
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/SchemaTreeTraverser.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/SchemaTreeTraverser.java
index e2f097d..7a772e7 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/SchemaTreeTraverser.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/impl/util/SchemaTreeTraverser.java
@@ -89,6 +89,7 @@
      * @author Kirill Grouchnikov
      */
     public static final class SchemaTreeModel extends DefaultTreeModel {
+        private static final long serialVersionUID = 3202903011416748633L;
         /**
          * A simple constructor. Is made private to allow creating the root node
          * first.
@@ -120,6 +121,7 @@
      * @author Kirill Grouchnikov
      */
     public static class SchemaTreeNode extends DefaultMutableTreeNode {
+        private static final long serialVersionUID = 5119501381189181864L;
         /**
          * File name of the corresponding schema artifact.
          */
@@ -206,6 +208,7 @@
      * @author Kirill Grouchnikov
      */
     public static class SchemaRootNode extends SchemaTreeNode {
+        private static final long serialVersionUID = -4869737965361647583L;
         /**
          * A simple constructor.
          */
@@ -222,6 +225,7 @@
      */
     public static class SchemaTreeCellRenderer extends JPanel implements
             TreeCellRenderer {
+        private static final long serialVersionUID = 865538344984392435L;
         /**
          * The icon label.
          */
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/parser/AnnotationParser.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/parser/AnnotationParser.java
index 20cf6f4..4848b43 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/parser/AnnotationParser.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/parser/AnnotationParser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2022 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
@@ -20,6 +20,12 @@
  * @author Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  */
 public abstract class AnnotationParser {
+
+    /**
+     * Default constructor.
+     */
+    protected AnnotationParser() {}
+
     /**
      * Called every time a new {@code <xs:annotation>} element
      * is found.
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/ComponentNameFunction.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/ComponentNameFunction.java
index 5d85261..86f2014 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/ComponentNameFunction.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/ComponentNameFunction.java
@@ -38,7 +38,12 @@
 
     // delegate to this object to get the localized name of the component type
     private NameGetter nameGetter = new NameGetter(null);
-    
+
+    /**
+     * Default constructor.
+     */
+    public ComponentNameFunction() {}
+
     public String annotation(XSAnnotation ann) {
         // unnamed component
         return nameGetter.annotation( ann );
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/DomAnnotationParserFactory.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/DomAnnotationParserFactory.java
index b3dd1f1..fd657a3 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/DomAnnotationParserFactory.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/DomAnnotationParserFactory.java
@@ -42,7 +42,12 @@
  * @author Kohsuke Kawaguchi
  */
 public class DomAnnotationParserFactory implements AnnotationParserFactory {
-    
+
+    /**
+     * Default constructor.
+     */
+    public DomAnnotationParserFactory() {}
+
     public AnnotationParser create() {
         return new AnnotationParserImpl();
     }
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/TypeSet.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/TypeSet.java
index 892744a..418eeab 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/TypeSet.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/TypeSet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2022 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
@@ -20,6 +20,11 @@
 public abstract class TypeSet {
 
     /**
+     * Default constructor.
+     */
+    protected TypeSet() {}
+
+    /**
      * Return true if this TypeSet contains the specified type.
      * 
      * Concrete implementations of this method determine what it
diff --git a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/XSFinder.java b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/XSFinder.java
index cfb8392..385411b 100644
--- a/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/XSFinder.java
+++ b/jaxb-ri/xsom/src/main/java/com/sun/xml/xsom/util/XSFinder.java
@@ -43,7 +43,12 @@
  *     Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  */
 public class XSFinder implements XSFunction<Boolean> {
-    
+
+    /**
+     * Default constructor.
+     */
+    public XSFinder() {}
+
     /**
      * Invokes this object as a visitor with the specified component.
      */
diff --git a/jaxb-ri/xsom/src/main/java/module-info.java b/jaxb-ri/xsom/src/main/java/module-info.java
index f3db5cc..57da575 100644
--- a/jaxb-ri/xsom/src/main/java/module-info.java
+++ b/jaxb-ri/xsom/src/main/java/module-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2022 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,10 +19,12 @@
     requires com.sun.tools.rngdatatype;
     requires static java.desktop;
     requires java.logging;
+    requires transitive java.xml;
 
     exports com.sun.xml.xsom;
     exports com.sun.xml.xsom.util;
     exports com.sun.xml.xsom.visitor;
+    exports com.sun.xml.xsom.impl;
     exports com.sun.xml.xsom.impl.parser;
     exports com.sun.xml.xsom.impl.util;
     exports com.sun.xml.xsom.parser;