diff --git a/domino-rest-client/pom.xml b/domino-rest-client/pom.xml
index 7733616..f00b87d 100644
--- a/domino-rest-client/pom.xml
+++ b/domino-rest-client/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>domino-rest</artifactId>
         <groupId>org.dominokit</groupId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -79,10 +79,9 @@
             <groupId>com.google.elemental2</groupId>
             <artifactId>elemental2-promise</artifactId>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
             <version>${jax.rs.version}</version>
         </dependency>
 
diff --git a/domino-rest-client/src/main/module.gwt.xml b/domino-rest-client/src/main/module.gwt.xml
index 1e3f4e9..c1a6443 100644
--- a/domino-rest-client/src/main/module.gwt.xml
+++ b/domino-rest-client/src/main/module.gwt.xml
@@ -20,6 +20,6 @@
     <inherits name="org.gwtproject.event.Event"/>
     <inherits name="org.gwtproject.core.Core"/>
     <inherits name="org.dominokit.domino.logger.Logging"/>
-    <inherits name="javax.ws.rs.JaxRs"/>
+    <inherits name="jakarta.ws.rs.JaxRs"/>
     <source path=""/>
 </module>
diff --git a/domino-rest-jaxrs/pom.xml b/domino-rest-jaxrs/pom.xml
index 245a522..453126a 100644
--- a/domino-rest-jaxrs/pom.xml
+++ b/domino-rest-jaxrs/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.dominokit</groupId>
         <artifactId>domino-rest</artifactId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
 
     <artifactId>domino-rest-jaxrs</artifactId>
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/package-info.java b/domino-rest-jaxrs/src/main/java/jakarta/ws/rs/package-info.java
similarity index 96%
rename from domino-rest-jaxrs/src/main/java/javax/ws/rs/package-info.java
rename to domino-rest-jaxrs/src/main/java/jakarta/ws/rs/package-info.java
index 7168334..2f2c3cf 100644
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/package-info.java
+++ b/domino-rest-jaxrs/src/main/java/jakarta/ws/rs/package-info.java
@@ -14,4 +14,4 @@
  * limitations under the License.
  */
 /** Dummy package to generate javadocs to qualify for staging rules */
-package javax.ws.rs;
+package jakarta.ws.rs;
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ApplicationPath.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ApplicationPath.java
new file mode 100644
index 0000000..fd10702
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ApplicationPath.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Documented
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ApplicationPath {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BadRequestException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BadRequestException.java
new file mode 100644
index 0000000..ccb1c7e
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BadRequestException.java
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs;
+
+public class BadRequestException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BeanParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BeanParam.java
new file mode 100644
index 0000000..a81bfe0
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/BeanParam.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface BeanParam {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ClientErrorException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ClientErrorException.java
new file mode 100644
index 0000000..dded423
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ClientErrorException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class ClientErrorException extends WebApplicationException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ConstrainedTo.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ConstrainedTo.java
new file mode 100644
index 0000000..3968c4a
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ConstrainedTo.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface ConstrainedTo {
+
+    RuntimeType value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Consumes.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Consumes.java
new file mode 100644
index 0000000..eaa507c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Consumes.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Inherited
+@Target({ ElementType.TYPE, ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Consumes {
+
+    String[] value() default "*/*";
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/CookieParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/CookieParam.java
new file mode 100644
index 0000000..c0efad0
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/CookieParam.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface CookieParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DELETE.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DELETE.java
new file mode 100644
index 0000000..f9e8827
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DELETE.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.DELETE)
+@Documented
+public @interface DELETE {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DefaultValue.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DefaultValue.java
new file mode 100644
index 0000000..2362c92
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/DefaultValue.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface DefaultValue {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Encoded.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Encoded.java
new file mode 100644
index 0000000..0465069
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Encoded.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Encoded {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ForbiddenException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ForbiddenException.java
new file mode 100644
index 0000000..f58cb29
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ForbiddenException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class ForbiddenException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/FormParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/FormParam.java
new file mode 100644
index 0000000..73c54c1
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/FormParam.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface FormParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GET.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GET.java
new file mode 100644
index 0000000..02e2c31
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GET.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.GET)
+@Documented
+public @interface GET {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/GwtIncompatible.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GwtIncompatible.java
similarity index 97%
rename from domino-rest-jaxrs/src/main/resources/javax/ws/rs/GwtIncompatible.java
rename to domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GwtIncompatible.java
index 2bb9c3b..7233ba6 100644
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/GwtIncompatible.java
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/GwtIncompatible.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package javax.ws.rs;
+package jakarta.ws.rs;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
@@ -22,7 +22,6 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-
 @Retention(RetentionPolicy.CLASS)
 @Target({
   ElementType.TYPE, ElementType.METHOD,
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HEAD.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HEAD.java
new file mode 100644
index 0000000..917f9ce
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HEAD.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.HEAD)
+@Documented
+public @interface HEAD {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HeaderParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HeaderParam.java
new file mode 100644
index 0000000..13a61db
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HeaderParam.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface HeaderParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HttpMethod.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HttpMethod.java
new file mode 100644
index 0000000..e533234
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/HttpMethod.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface HttpMethod {
+
+    public static final String GET = "GET";
+
+    public static final String POST = "POST";
+
+    public static final String PUT = "PUT";
+
+    public static final String DELETE = "DELETE";
+
+    public static final String PATCH = "PATCH";
+
+    public static final String HEAD = "HEAD";
+
+    public static final String OPTIONS = "OPTIONS";
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/InternalServerErrorException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/InternalServerErrorException.java
new file mode 100644
index 0000000..35f9220
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/InternalServerErrorException.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import jakarta.ws.rs.core.Response;
+
+public class InternalServerErrorException extends ServerErrorException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/JaxRs.gwt.xml b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/JaxRs.gwt.xml
similarity index 100%
rename from domino-rest-jaxrs/src/main/resources/javax/ws/rs/JaxRs.gwt.xml
rename to domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/JaxRs.gwt.xml
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/MatrixParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/MatrixParam.java
new file mode 100644
index 0000000..0501cd4
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/MatrixParam.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface MatrixParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NameBinding.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NameBinding.java
new file mode 100644
index 0000000..1043a58
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NameBinding.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.ANNOTATION_TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface NameBinding {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAcceptableException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAcceptableException.java
new file mode 100644
index 0000000..0b4805d
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAcceptableException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class NotAcceptableException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAllowedException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAllowedException.java
new file mode 100644
index 0000000..635d355
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAllowedException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class NotAllowedException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAuthorizedException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAuthorizedException.java
new file mode 100644
index 0000000..f01e718
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotAuthorizedException.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class NotAuthorizedException extends ClientErrorException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotFoundException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotFoundException.java
new file mode 100644
index 0000000..0fda5d1
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotFoundException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class NotFoundException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotSupportedException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotSupportedException.java
new file mode 100644
index 0000000..b34fd34
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/NotSupportedException.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class NotSupportedException extends ClientErrorException {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/OPTIONS.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/OPTIONS.java
new file mode 100644
index 0000000..346bb62
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/OPTIONS.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.OPTIONS)
+@Documented
+public @interface OPTIONS {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PATCH.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PATCH.java
new file mode 100644
index 0000000..b28a22f
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PATCH.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2017 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.PATCH)
+@Documented
+public @interface PATCH {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/POST.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/POST.java
new file mode 100644
index 0000000..e530527
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/POST.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.POST)
+@Documented
+public @interface POST {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PUT.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PUT.java
new file mode 100644
index 0000000..dc35e0a
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PUT.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod(HttpMethod.PUT)
+@Documented
+public @interface PUT {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Path.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Path.java
new file mode 100644
index 0000000..2d28a83
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Path.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.TYPE, ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Path {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PathParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PathParam.java
new file mode 100644
index 0000000..5065178
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/PathParam.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface PathParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Priorities.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Priorities.java
new file mode 100644
index 0000000..bee32c8
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Priorities.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2013, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public final class Priorities {
+
+    private Priorities() {
+        // prevents construction
+    }
+
+    public static final int AUTHENTICATION = 1000;
+
+    public static final int AUTHORIZATION = 2000;
+
+    public static final int HEADER_DECORATOR = 3000;
+
+    public static final int ENTITY_CODER = 4000;
+
+    public static final int USER = 5000;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ProcessingException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ProcessingException.java
new file mode 100644
index 0000000..fe97b4c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ProcessingException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class ProcessingException extends RuntimeException {
+
+    private static final long serialVersionUID = -4232431597816056514L;
+
+    public ProcessingException(final Throwable cause) {
+        super(cause);
+    }
+
+    public ProcessingException(final String message, final Throwable cause) {
+        super(message, cause);
+    }
+
+    public ProcessingException(final String message) {
+        super(message);
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Produces.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Produces.java
new file mode 100644
index 0000000..bf3c0fa
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/Produces.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Inherited
+@Target({ ElementType.TYPE, ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Produces {
+
+    String[] value() default "*/*";
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/QueryParam.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/QueryParam.java
new file mode 100644
index 0000000..5f7583d
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/QueryParam.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface QueryParam {
+
+    String value();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RedirectionException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RedirectionException.java
new file mode 100644
index 0000000..1fee9b5
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RedirectionException.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class RedirectionException extends WebApplicationException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RuntimeType.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RuntimeType.java
new file mode 100644
index 0000000..d5f6876
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/RuntimeType.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public enum RuntimeType {
+
+    CLIENT,
+
+    SERVER
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/SeBootstrap.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/SeBootstrap.java
new file mode 100644
index 0000000..c2bde6c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/SeBootstrap.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2018 Markus KARG. 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+import java.net.URI;
+import java.util.Optional;
+import java.util.function.BiFunction;
+
+import javax.net.ssl.SSLContext;
+
+import jakarta.ws.rs.core.UriBuilder;
+
+public interface SeBootstrap {
+
+    interface Configuration {
+
+        String PROTOCOL = "jakarta.ws.rs.SeBootstrap.Protocol";
+
+        String HOST = "jakarta.ws.rs.SeBootstrap.Host";
+
+        String PORT = "jakarta.ws.rs.SeBootstrap.Port";
+
+        String ROOT_PATH = "jakarta.ws.rs.SeBootstrap.RootPath";
+
+        String SSL_CONTEXT = "jakarta.ws.rs.SeBootstrap.SSLContext";
+
+        String SSL_CLIENT_AUTHENTICATION = "jakarta.ws.rs.SeBootstrap.SSLClientAuthentication";
+
+        enum SSLClientAuthentication {
+
+            NONE,
+
+            OPTIONAL,
+
+            MANDATORY
+        }
+
+        int FREE_PORT = 0;
+
+        int DEFAULT_PORT = -1;
+
+        Object property(String name);
+
+        default boolean hasProperty(String name) {
+            return property(name) != null;
+        }
+
+        default String protocol() {
+            return (String) property(PROTOCOL);
+        }
+
+        default String host() {
+            return (String) property(HOST);
+        }
+
+        default int port() {
+            return (int) property(PORT);
+        }
+
+        default String rootPath() {
+            return (String) property(ROOT_PATH);
+        }
+
+        @GwtIncompatible
+        default SSLContext sslContext() {
+            return (SSLContext) property(SSL_CONTEXT);
+        }
+
+        default SSLClientAuthentication sslClientAuthentication() {
+            return (SSLClientAuthentication) property(SSL_CLIENT_AUTHENTICATION);
+        }
+
+        default UriBuilder baseUriBuilder() {
+            return null;
+        }
+
+        @GwtIncompatible
+        default URI baseUri() {
+            return null;
+        }
+
+        static Builder builder() {
+            return null;
+        }
+
+        interface Builder {
+
+            Configuration build();
+
+            Builder property(String name, Object value);
+
+            default Builder protocol(String protocol) {
+                return property(PROTOCOL, protocol);
+            }
+
+            default Builder host(String host) {
+                return property(HOST, host);
+            }
+
+            default Builder port(Integer port) {
+                return property(PORT, port);
+            }
+
+            default Builder rootPath(String rootPath) {
+                return property(ROOT_PATH, rootPath);
+            }
+
+            @GwtIncompatible
+            default Builder sslContext(SSLContext sslContext) {
+                return property(SSL_CONTEXT, sslContext);
+            }
+
+            default Builder sslClientAuthentication(SSLClientAuthentication sslClientAuthentication) {
+                return property(SSL_CLIENT_AUTHENTICATION, sslClientAuthentication);
+            }
+
+            <T> Builder from(BiFunction<String, Class<T>, Optional<T>> propertiesProvider);
+
+            default Builder from(Object externalConfig) {
+                return this;
+            }
+        }
+    }
+
+    interface Instance {
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServerErrorException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServerErrorException.java
new file mode 100644
index 0000000..122dd79
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServerErrorException.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class ServerErrorException extends WebApplicationException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServiceUnavailableException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServiceUnavailableException.java
new file mode 100644
index 0000000..a09605c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ServiceUnavailableException.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs;
+
+public class ServiceUnavailableException extends ServerErrorException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/WebApplicationException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/WebApplicationException.java
new file mode 100644
index 0000000..a7be7d8
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/WebApplicationException.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0.
+ */
+
+package jakarta.ws.rs;
+
+public class WebApplicationException extends RuntimeException {
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/AsyncResponse.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/AsyncResponse.java
new file mode 100644
index 0000000..ac2a405
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/AsyncResponse.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import jakarta.ws.rs.GwtIncompatible;
+
+/**
+ * Used for emulating Context in domino-rest, arguments of this type will be ignored in domino-rest
+ * client generation
+ */
+public interface AsyncResponse {
+
+    @GwtIncompatible long NO_TIMEOUT = 0;
+
+    @GwtIncompatible boolean resume(Object response);
+
+    @GwtIncompatible boolean resume(Throwable response);
+
+    @GwtIncompatible boolean cancel();
+
+    @GwtIncompatible boolean cancel(int retryAfter);
+
+    @GwtIncompatible boolean cancel(Date retryAfter);
+
+    @GwtIncompatible boolean isSuspended();
+
+    @GwtIncompatible boolean isCancelled();
+
+    @GwtIncompatible boolean isDone();
+
+    @GwtIncompatible boolean setTimeout(long time, TimeUnit unit);
+
+    @GwtIncompatible void setTimeoutHandler(TimeoutHandler handler);
+
+    @GwtIncompatible Collection<Class<?>> register(Class<?> callback);
+
+    @GwtIncompatible Map<Class<?>, Collection<Class<?>>> register(Class<?> callback, Class<?>... callbacks);
+
+    @GwtIncompatible Collection<Class<?>> register(Object callback);
+
+    Map<Class<?>, Collection<Class<?>>> register(Object callback, Object... callbacks);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/CompletionCallback.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/CompletionCallback.java
new file mode 100644
index 0000000..284d49b
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/CompletionCallback.java
@@ -0,0 +1,20 @@
+/*
+ * 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+public interface CompletionCallback {
+    public void onComplete(Throwable throwable);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ConnectionCallback.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ConnectionCallback.java
new file mode 100644
index 0000000..83dcd2c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ConnectionCallback.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+public interface ConnectionCallback {
+    public void onDisconnect(AsyncResponse disconnected);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestContext.java
new file mode 100644
index 0000000..d37212b
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestContext.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+import java.io.InputStream;
+import java.net.URI;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.function.Predicate;
+
+import jakarta.ws.rs.core.Cookie;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GwtIncompatible;
+
+public interface ContainerRequestContext {
+
+    public Object getProperty(String name);
+
+    public default boolean hasProperty(String name) {
+        return getProperty(name) != null;
+    }
+
+    public Collection<String> getPropertyNames();
+
+    public void setProperty(String name, Object object);
+
+    public void removeProperty(String name);
+
+    public UriInfo getUriInfo();
+
+    @GwtIncompatible
+    public void setRequestUri(URI requestUri);
+
+    @GwtIncompatible
+    public void setRequestUri(URI baseUri, URI requestUri);
+
+    public Request getRequest();
+
+    public String getMethod();
+
+    public void setMethod(String method);
+
+    public MultivaluedMap<String, String> getHeaders();
+
+    public String getHeaderString(String name);
+
+    public boolean containsHeaderString(String name, String valueSeparatorRegex, Predicate<String> valuePredicate);
+
+    public default boolean containsHeaderString(String name, Predicate<String> valuePredicate) {
+        return containsHeaderString(name, ",", valuePredicate);
+    }
+
+    public Date getDate();
+
+    @GwtIncompatible
+    public Locale getLanguage();
+
+    public int getLength();
+
+    public MediaType getMediaType();
+
+    @GwtIncompatible
+    public List<MediaType> getAcceptableMediaTypes();
+
+    public List<Locale> getAcceptableLanguages();
+
+    public Map<String, Cookie> getCookies();
+
+    public boolean hasEntity();
+
+    @GwtIncompatible
+    public InputStream getEntityStream();
+
+    @GwtIncompatible
+    public void setEntityStream(InputStream input);
+
+    public SecurityContext getSecurityContext();
+
+    public void setSecurityContext(SecurityContext context);
+
+    public void abortWith(Response response);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestFilter.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestFilter.java
new file mode 100644
index 0000000..efcfa8d
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerRequestFilter.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2012, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+import java.io.IOException;
+
+public interface ContainerRequestFilter {
+    public void filter(ContainerRequestContext requestContext) throws IOException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseContext.java
new file mode 100644
index 0000000..2e4607e
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseContext.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import java.io.OutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.net.URI;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
+
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.NewCookie;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.GwtIncompatible;
+
+public interface ContainerResponseContext {
+
+    public int getStatus();
+
+    public void setStatus(int code);
+
+    public Response.StatusType getStatusInfo();
+
+    public void setStatusInfo(Response.StatusType statusInfo);
+
+    public MultivaluedMap<String, Object> getHeaders();
+
+    public abstract MultivaluedMap<String, String> getStringHeaders();
+
+    public String getHeaderString(String name);
+
+    public boolean containsHeaderString(String name, String valueSeparatorRegex, Predicate<String> valuePredicate);
+
+    public default boolean containsHeaderString(String name, Predicate<String> valuePredicate) {
+        return containsHeaderString(name, ",", valuePredicate);
+    }
+
+    public Set<String> getAllowedMethods();
+
+    public Date getDate();
+
+    @GwtIncompatible
+    public Locale getLanguage();
+
+    public int getLength();
+
+    public MediaType getMediaType();
+
+    public Map<String, NewCookie> getCookies();
+
+    public EntityTag getEntityTag();
+
+    public Date getLastModified();
+
+    @GwtIncompatible
+    public URI getLocation();
+
+    public Set<Link> getLinks();
+
+    boolean hasLink(String relation);
+
+    public Link getLink(String relation);
+
+    public Link.Builder getLinkBuilder(String relation);
+
+    public boolean hasEntity();
+
+    public Object getEntity();
+
+    public Class<?> getEntityClass();
+
+    @GwtIncompatible
+    public Type getEntityType();
+
+    public void setEntity(final Object entity);
+
+    @GwtIncompatible
+    public void setEntity(
+            final Object entity,
+            final Annotation[] annotations,
+            final MediaType mediaType);
+
+    @GwtIncompatible
+    public Annotation[] getEntityAnnotations();
+
+    @GwtIncompatible
+    public OutputStream getEntityStream();
+
+    @GwtIncompatible
+    public void setEntityStream(OutputStream outputStream);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseFilter.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseFilter.java
new file mode 100644
index 0000000..413ed97
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ContainerResponseFilter.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2012, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+import java.io.IOException;
+
+public interface ContainerResponseFilter {
+    public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
+            throws IOException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/DynamicFeature.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/DynamicFeature.java
new file mode 100644
index 0000000..6d81ff2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/DynamicFeature.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+package jakarta.ws.rs.container;
+
+import jakarta.ws.rs.core.FeatureContext;
+
+public interface DynamicFeature {
+    public void configure(ResourceInfo resourceInfo, FeatureContext context);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/PreMatching.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/PreMatching.java
new file mode 100644
index 0000000..ef90f80
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/PreMatching.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface PreMatching {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceContext.java
new file mode 100644
index 0000000..0cee56a
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceContext.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+public interface ResourceContext {
+
+    public <T> T getResource(Class<T> resourceClass);
+
+    public <T> T initResource(T resource);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceInfo.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceInfo.java
new file mode 100644
index 0000000..c32e6c2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/ResourceInfo.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import java.lang.reflect.Method;
+import jakarta.ws.rs.GwtIncompatible;
+
+public interface ResourceInfo {
+
+    @GwtIncompatible
+    Method getResourceMethod();
+
+    Class<?> getResourceClass();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/Suspended.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/Suspended.java
new file mode 100644
index 0000000..74fb2f1
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/Suspended.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.util.concurrent.TimeUnit;
+
+@Target({ ElementType.PARAMETER })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Suspended {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/TimeoutHandler.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/TimeoutHandler.java
new file mode 100644
index 0000000..7374736
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/TimeoutHandler.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.container;
+
+import jakarta.ws.rs.GwtIncompatible;
+
+@GwtIncompatible
+public interface TimeoutHandler {
+
+    public void handleTimeout(AsyncResponse asyncResponse);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/package-info.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/package-info.java
new file mode 100644
index 0000000..25da48e
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/container/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/**
+ * Container-specific JAX-RS API.
+ */
+package jakarta.ws.rs.container;
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/AbstractMultivaluedMap.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/AbstractMultivaluedMap.java
new file mode 100644
index 0000000..360c6a0
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/AbstractMultivaluedMap.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public abstract class AbstractMultivaluedMap<K, V> implements MultivaluedMap<K, V>, Serializable {
+
+    protected final Map<K, List<V>> store;
+
+    public AbstractMultivaluedMap(final Map<K, List<V>> store) {
+        if (store == null) {
+            throw new NullPointerException("Underlying store must not be 'null'.");
+        }
+        this.store = store;
+    }
+
+    @Override
+    public final void putSingle(final K key, final V value) {
+        List<V> values = getValues(key);
+
+        values.clear();
+        if (value != null) {
+            values.add(value);
+        } else {
+            addNull(values);
+        }
+    }
+
+    @SuppressWarnings("UnusedParameters")
+    protected void addNull(final List<V> values) {
+        // do nothing in the default implementation; ignore the null value
+    }
+
+    @SuppressWarnings("UnusedParameters")
+    protected void addFirstNull(final List<V> values) {
+        // do nothing in the default implementation; ignore the null value
+    }
+
+    @Override
+    public final void add(final K key, final V value) {
+        List<V> values = getValues(key);
+
+        if (value != null) {
+            values.add(value);
+        } else {
+            addNull(values);
+        }
+    }
+
+    @Override
+    public final void addAll(final K key, final V... newValues) {
+        if (newValues == null) {
+            throw new NullPointerException("Supplied array of values must not be null.");
+        }
+        if (newValues.length == 0) {
+            return;
+        }
+
+        List<V> values = getValues(key);
+
+        for (V value : newValues) {
+            if (value != null) {
+                values.add(value);
+            } else {
+                addNull(values);
+            }
+        }
+    }
+
+    @Override
+    public final void addAll(final K key, final List<V> valueList) {
+        if (valueList == null) {
+            throw new NullPointerException("Supplied list of values must not be null.");
+        }
+        if (valueList.isEmpty()) {
+            return;
+        }
+
+        List<V> values = getValues(key);
+
+        for (V value : valueList) {
+            if (value != null) {
+                values.add(value);
+            } else {
+                addNull(values);
+            }
+        }
+    }
+
+    @Override
+    public final V getFirst(final K key) {
+        List<V> values = store.get(key);
+        if (values != null && values.size() > 0) {
+            return values.get(0);
+        } else {
+            return null;
+        }
+    }
+
+    @Override
+    public final void addFirst(final K key, final V value) {
+        List<V> values = getValues(key);
+
+        if (value != null) {
+            values.add(0, value);
+        } else {
+            addFirstNull(values);
+        }
+    }
+
+    protected final List<V> getValues(final K key) {
+        List<V> l = store.get(key);
+        if (l == null) {
+            l = new LinkedList<V>();
+            store.put(key, l);
+        }
+        return l;
+    }
+
+    @Override
+    public String toString() {
+        return store.toString();
+    }
+
+    @Override
+    public int hashCode() {
+        return store.hashCode();
+    }
+
+    @Override
+    @SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
+    public boolean equals(final Object o) {
+        return store.equals(o);
+    }
+
+    @Override
+    public Collection<List<V>> values() {
+        return store.values();
+    }
+
+    @Override
+    public int size() {
+        return store.size();
+    }
+
+    @Override
+    public List<V> remove(final Object key) {
+        return store.remove(key);
+    }
+
+    @Override
+    public void putAll(final Map<? extends K, ? extends List<V>> m) {
+        store.putAll(m);
+    }
+
+    @Override
+    public List<V> put(final K key, final List<V> value) {
+        return store.put(key, value);
+    }
+
+    @Override
+    public Set<K> keySet() {
+        return store.keySet();
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return store.isEmpty();
+    }
+
+    @Override
+    public List<V> get(final Object key) {
+        return store.get(key);
+    }
+
+    @Override
+    public Set<Entry<K, List<V>>> entrySet() {
+        return store.entrySet();
+    }
+
+    @Override
+    public boolean containsValue(final Object value) {
+        return store.containsValue(value);
+    }
+
+    @Override
+    public boolean containsKey(final Object key) {
+        return store.containsKey(key);
+    }
+
+    @Override
+    public void clear() {
+        store.clear();
+    }
+
+    @Override
+    public boolean equalsIgnoreValueOrder(final MultivaluedMap<K, V> omap) {
+        if (this == omap) {
+            return true;
+        }
+        if (!keySet().equals(omap.keySet())) {
+            return false;
+        }
+        for (Entry<K, List<V>> e : entrySet()) {
+            List<V> olist = omap.get(e.getKey());
+            if (e.getValue().size() != olist.size()) {
+                return false;
+            }
+            for (V v : e.getValue()) {
+                if (!olist.contains(v)) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Application.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Application.java
new file mode 100644
index 0000000..f10d370
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Application.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+public class Application {
+
+    public Set<Class<?>> getClasses() {
+        return Collections.emptySet();
+    }
+
+    @Deprecated
+    public Set<Object> getSingletons() {
+        return Collections.emptySet();
+    }
+
+    public Map<String, Object> getProperties() {
+        return Collections.emptyMap();
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/CacheControl.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/CacheControl.java
new file mode 100644
index 0000000..505702c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/CacheControl.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import jakarta.ws.rs.GwtIncompatible;
+
+import jakarta.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+
+@GwtIncompatible
+public class CacheControl {
+
+    @Deprecated
+    private static final HeaderDelegate<CacheControl> HEADER_DELEGATE = RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class);
+    private List<String> privateFields;
+    private List<String> noCacheFields;
+    private Map<String, String> cacheExtension;
+    private boolean privateFlag;
+    private boolean noCache;
+    private boolean noStore;
+    private boolean noTransform;
+    private boolean mustRevalidate;
+    private boolean proxyRevalidate;
+    private int maxAge = -1;
+    private int sMaxAge = -1;
+
+    public CacheControl() {
+        privateFlag = false;
+        noCache = false;
+        noStore = false;
+        noTransform = true;
+        mustRevalidate = false;
+        proxyRevalidate = false;
+    }
+
+    @Deprecated
+    public static CacheControl valueOf(final String value) {
+        return HEADER_DELEGATE.fromString(value);
+    }
+
+    public boolean isMustRevalidate() {
+        return mustRevalidate;
+    }
+
+    public void setMustRevalidate(final boolean mustRevalidate) {
+        this.mustRevalidate = mustRevalidate;
+    }
+
+    public boolean isProxyRevalidate() {
+        return proxyRevalidate;
+    }
+
+    public void setProxyRevalidate(final boolean proxyRevalidate) {
+        this.proxyRevalidate = proxyRevalidate;
+    }
+
+    public int getMaxAge() {
+        return maxAge;
+    }
+
+    public void setMaxAge(final int maxAge) {
+        this.maxAge = maxAge;
+    }
+
+    public int getSMaxAge() {
+        return sMaxAge;
+    }
+
+    public void setSMaxAge(final int smaxAge) {
+        this.sMaxAge = smaxAge;
+    }
+
+    public List<String> getNoCacheFields() {
+        if (noCacheFields == null) {
+            noCacheFields = new ArrayList<String>();
+        }
+        return noCacheFields;
+    }
+
+    public void setNoCache(final boolean noCache) {
+        this.noCache = noCache;
+    }
+
+    public boolean isNoCache() {
+        return noCache;
+    }
+
+    public boolean isPrivate() {
+        return privateFlag;
+    }
+
+    public List<String> getPrivateFields() {
+        if (privateFields == null) {
+            privateFields = new ArrayList<String>();
+        }
+        return privateFields;
+    }
+
+    public void setPrivate(final boolean flag) {
+        this.privateFlag = flag;
+    }
+
+    public boolean isNoTransform() {
+        return noTransform;
+    }
+
+    public void setNoTransform(final boolean noTransform) {
+        this.noTransform = noTransform;
+    }
+
+    public boolean isNoStore() {
+        return noStore;
+    }
+
+    public void setNoStore(final boolean noStore) {
+        this.noStore = noStore;
+    }
+
+    public Map<String, String> getCacheExtension() {
+        if (cacheExtension == null) {
+            cacheExtension = new HashMap<String, String>();
+        }
+        return cacheExtension;
+    }
+
+    @Override
+    @Deprecated
+    public String toString() {
+        return HEADER_DELEGATE.toString(this);
+    }
+
+    @Override
+    public int hashCode() {
+        int hash = Objects.hash(this.privateFlag, this.noCache, this.noStore, this.noTransform, this.mustRevalidate,
+                this.proxyRevalidate, this.maxAge, this.sMaxAge);
+        hash = 41 * hash + hashCodeOf(this.privateFields);
+        hash = 41 * hash + hashCodeOf(this.noCacheFields);
+        hash = 41 * hash + hashCodeOf(this.cacheExtension);
+        return hash;
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final CacheControl other = (CacheControl) obj;
+        if (this.privateFlag != other.privateFlag) {
+            return false;
+        }
+        if (this.noCache != other.noCache) {
+            return false;
+        }
+        if (this.noStore != other.noStore) {
+            return false;
+        }
+        if (this.noTransform != other.noTransform) {
+            return false;
+        }
+        if (this.mustRevalidate != other.mustRevalidate) {
+            return false;
+        }
+        if (this.proxyRevalidate != other.proxyRevalidate) {
+            return false;
+        }
+        if (this.maxAge != other.maxAge) {
+            return false;
+        }
+        if (this.sMaxAge != other.sMaxAge) {
+            return false;
+        }
+        if (notEqual(this.privateFields, other.privateFields)) {
+            return false;
+        }
+        if (notEqual(this.noCacheFields, other.noCacheFields)) {
+            return false;
+        }
+        if (notEqual(this.cacheExtension, other.cacheExtension)) {
+            return false;
+        }
+        return true;
+    }
+
+    private static boolean notEqual(final Collection<?> first, final Collection<?> second) {
+        if (first == second) {
+            return false;
+        }
+        if (first == null) {
+            // if first is 'null', consider equal to empty
+            return !second.isEmpty();
+        }
+        if (second == null) {
+            // if second is 'null', consider equal to empty
+            return !first.isEmpty();
+        }
+
+        return !first.equals(second);
+    }
+
+    private static boolean notEqual(final Map<?, ?> first, final Map<?, ?> second) {
+        if (first == second) {
+            return false;
+        }
+        if (first == null) {
+            // if first is 'null', consider equal to empty
+            return !second.isEmpty();
+        }
+        if (second == null) {
+            // if second is 'null', consider equal to empty
+            return !first.isEmpty();
+        }
+
+        return !first.equals(second);
+    }
+
+    private static int hashCodeOf(final Collection<?> instance) {
+        return (instance == null || instance.isEmpty()) ? 0 : instance.hashCode();
+    }
+
+    private static int hashCodeOf(final Map<?, ?> instance) {
+        return (instance == null || instance.isEmpty()) ? 0 : instance.hashCode();
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configurable.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configurable.java
new file mode 100644
index 0000000..3e4c327
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configurable.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2011, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Map;
+
+public interface Configurable<C extends Configurable> {
+
+    public Configuration getConfiguration();
+
+    public C property(String name, Object value);
+
+    public C register(Class<?> componentClass);
+
+    public C register(Class<?> componentClass, int priority);
+
+    public C register(Class<?> componentClass, Class<?>... contracts);
+
+    public C register(Class<?> componentClass, Map<Class<?>, Integer> contracts);
+
+    public C register(Object component);
+
+    public C register(Object component, int priority);
+
+    public C register(Object component, Class<?>... contracts);
+
+    public C register(Object component, Map<Class<?>, Integer> contracts);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configuration.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configuration.java
new file mode 100644
index 0000000..2bbefc2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Configuration.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+import jakarta.ws.rs.RuntimeType;
+
+
+public interface Configuration {
+
+    public RuntimeType getRuntimeType();
+
+    public Map<String, Object> getProperties();
+
+    public Object getProperty(String name);
+
+    public default boolean hasProperty(String name) {
+        return getProperty(name) != null;
+    }
+
+    public Collection<String> getPropertyNames();
+
+    public boolean isEnabled(Feature feature);
+
+    public boolean isEnabled(Class<? extends Feature> featureClass);
+
+    public boolean isRegistered(Object component);
+
+    public boolean isRegistered(Class<?> componentClass);
+
+    public Map<Class<?>, Integer> getContracts(Class<?> componentClass);
+
+    public Set<Class<?>> getClasses();
+
+    public Set<Object> getInstances();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Context.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Context.java
new file mode 100644
index 0000000..df1a6c1
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Context.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Context {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Cookie.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Cookie.java
new file mode 100644
index 0000000..6da3f9e
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Cookie.java
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Objects;
+
+public class Cookie {
+
+    public static final int DEFAULT_VERSION = 1;
+
+    private final String name;
+    private final String value;
+    private final int version;
+    private final String path;
+    private final String domain;
+
+    @Deprecated
+    public Cookie(final String name, final String value, final String path, final String domain, final int version)
+            throws IllegalArgumentException {
+        if (name == null) {
+            throw new IllegalArgumentException("name==null");
+        }
+        this.name = name;
+        this.value = value;
+        this.version = version;
+        this.domain = domain;
+        this.path = path;
+    }
+
+    @Deprecated
+    public Cookie(final String name, final String value, final String path, final String domain)
+            throws IllegalArgumentException {
+        this(name, value, path, domain, DEFAULT_VERSION);
+    }
+
+    @Deprecated
+    public Cookie(final String name, final String value)
+            throws IllegalArgumentException {
+        this(name, value, null, null);
+    }
+
+    protected Cookie(AbstractCookieBuilder<?> builder) throws IllegalArgumentException {
+        if (builder.name == null) {
+            throw new IllegalArgumentException("name==null");
+        }
+        this.name = builder.name;
+        this.value = builder.value;
+        this.version = builder.version;
+        this.domain = builder.domain;
+        this.path = builder.path;
+    }
+
+    @Deprecated
+    public static Cookie valueOf(final String value) {
+        return null;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public int getVersion() {
+        return version;
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    @Override
+    @Deprecated
+    public String toString() {
+        return null;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.name, this.value, this.version, this.path, this.domain);
+    }
+
+    @SuppressWarnings({ "StringEquality", "RedundantIfStatement" })
+    @Override
+    public boolean equals(final Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final Cookie other = (Cookie) obj;
+        if (!Objects.equals(this.name, other.name)) {
+            return false;
+        }
+        if (!Objects.equals(this.value, other.value)) {
+            return false;
+        }
+        if (!Objects.equals(this.version, other.version)) {
+            return false;
+        }
+        if (!Objects.equals(this.path, other.path)) {
+            return false;
+        }
+        if (!Objects.equals(this.domain, other.domain)) {
+            return false;
+        }
+        return true;
+    }
+
+    public static class Builder extends AbstractCookieBuilder<Builder> {
+
+        public Builder(String name) {
+            super(name);
+        }
+
+        @Override
+        public Cookie build() {
+            return new Cookie(this);
+        }
+    }
+
+    public abstract static class AbstractCookieBuilder<T extends AbstractCookieBuilder<T>> {
+
+        private final String name;
+
+        private String value;
+        private int version = DEFAULT_VERSION;
+        private String path;
+        private String domain;
+
+        public AbstractCookieBuilder(String name) {
+            this.name = name;
+        }
+
+        public T value(String value) {
+            this.value = value;
+            return self();
+        }
+
+        public T version(int version) {
+            this.version = version;
+            return self();
+        }
+
+        public T path(String path) {
+            this.path = path;
+            return self();
+        }
+
+        public T domain(String domain) {
+            this.domain = domain;
+            return self();
+        }
+
+        @SuppressWarnings("unchecked")
+        private T self() {
+            return (T) this;
+        }
+
+        public abstract Cookie build();
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityPart.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityPart.java
new file mode 100644
index 0000000..c11b403
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityPart.java
@@ -0,0 +1,71 @@
+/*******************************************************************
+* Copyright (c) 2021 Eclipse Foundation
+*
+* This specification document is made available under the terms
+* of the Eclipse Foundation Specification License v1.0, which is
+* available at https://www.eclipse.org/legal/efsl.php.
+*******************************************************************/
+package jakarta.ws.rs.core;
+
+import jakarta.ws.rs.WebApplicationException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Optional;
+import jakarta.ws.rs.GwtIncompatible;
+
+@GwtIncompatible
+public interface EntityPart {
+
+    static Builder withName(String partName) {
+        return null;
+    }
+
+    static Builder withFileName(String partAndFileName) {
+        return null;
+    }
+
+    String getName();
+
+    Optional<String> getFileName();
+
+    InputStream getContent();
+
+    <T> T getContent(Class<T> type) throws IllegalArgumentException, IllegalStateException, IOException,
+        WebApplicationException;
+
+    <T> T getContent(GenericType<T> type) throws IllegalArgumentException, IllegalStateException, IOException,
+        WebApplicationException;
+
+    MultivaluedMap<String, String> getHeaders();
+
+    MediaType getMediaType();
+
+    interface Builder {
+
+        Builder mediaType(MediaType mediaType) throws IllegalArgumentException;
+
+        Builder mediaType(String mediaTypeString) throws IllegalArgumentException;
+
+        Builder header(String headerName, String... headerValues) throws IllegalArgumentException;
+
+        Builder headers(MultivaluedMap<String, String> newHeaders) throws IllegalArgumentException;
+
+        Builder fileName(String fileName) throws IllegalArgumentException;
+
+        Builder content(InputStream content) throws IllegalArgumentException;
+
+        default Builder content(String fileName, InputStream content) throws IllegalArgumentException {
+            return this.fileName(fileName).content(content);
+        }
+
+        <T> Builder content(T content, Class<? extends T> type) throws IllegalArgumentException;
+
+        default Builder content(Object content) throws IllegalArgumentException {
+            return this.content(content, content.getClass());
+        }
+
+        <T> Builder content(T content, GenericType<T> type) throws IllegalArgumentException;
+
+        EntityPart build() throws IllegalStateException, IOException, WebApplicationException;
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityTag.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityTag.java
new file mode 100644
index 0000000..f467be0
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/EntityTag.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Objects;
+
+public class EntityTag {
+    private String value;
+    private boolean weak;
+
+    public EntityTag(final String value) {
+        this(value, false);
+    }
+
+    public EntityTag(final String value, final boolean weak) {
+        if (value == null) {
+            throw new IllegalArgumentException("value==null");
+        }
+        this.value = value;
+        this.weak = weak;
+    }
+
+    @Deprecated
+    public static EntityTag valueOf(final String value) {
+        return null;
+    }
+
+    public boolean isWeak() {
+        return weak;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        if (!(obj instanceof EntityTag)) {
+            return false;
+        }
+
+        EntityTag other = (EntityTag) obj;
+        return Objects.equals(value, other.getValue()) && weak == other.isWeak();
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(this.value, this.weak);
+    }
+
+    @Override
+    @Deprecated
+    public String toString() {
+        return null;
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Feature.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Feature.java
new file mode 100644
index 0000000..d56c622
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Feature.java
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+public interface Feature {
+    public boolean configure(FeatureContext context);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/FeatureContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/FeatureContext.java
new file mode 100644
index 0000000..0932658
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/FeatureContext.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+public interface FeatureContext extends Configurable<FeatureContext> {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Form.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Form.java
new file mode 100644
index 0000000..a41070b
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Form.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+/**
+ * Represents the the HTML form data request entity encoded using the {@code "application/x-www-form-urlencoded"}
+ * content type.
+ *
+ * @author Marek Potociar
+ * @since 2.0
+ */
+public class Form {
+    private final MultivaluedMap<String, String> parameters;
+
+    public Form() {
+        this(new AbstractMultivaluedMap<String, String>(new LinkedHashMap<String, List<String>>()) {
+            // by default, the items in a Form are iterable based on their insertion order.
+        });
+    }
+
+    public Form(final String parameterName, final String parameterValue) {
+        this();
+
+        parameters.add(parameterName, parameterValue);
+    }
+
+    public Form(final MultivaluedMap<String, String> store) {
+        this.parameters = store;
+    }
+
+    public Form param(final String name, final String value) {
+        parameters.add(name, value);
+
+        return this;
+    }
+
+    public MultivaluedMap<String, String> asMap() {
+        return parameters;
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericEntity.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericEntity.java
new file mode 100644
index 0000000..c6edd7a
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericEntity.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2011, 2019 Oracle and/or its affiliates. All rights reserved.
+ *
+ * Copyright (c) 2006 Google Inc.
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package jakarta.ws.rs.core;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.lang.reflect.Type;
+import java.util.Objects;
+
+@GwtIncompatible
+public class GenericEntity<T> {
+
+    private final Class<?> rawType;
+    private final Type type;
+    private final T entity;
+
+    protected GenericEntity(final T entity) {
+        if (entity == null) {
+            throw new IllegalArgumentException("The entity must not be null");
+        }
+        this.entity = entity;
+        this.type = null;
+        this.rawType = entity.getClass();
+    }
+
+    public GenericEntity(final T entity, final Type genericType) {
+        if (entity == null || genericType == null) {
+            throw new IllegalArgumentException("Arguments must not be null.");
+        }
+        this.entity = entity;
+        this.rawType = entity.getClass();
+        this.type = genericType;
+    }
+
+    public final Class<?> getRawType() {
+        return rawType;
+    }
+
+    public final Type getType() {
+        return type;
+    }
+
+    public final T getEntity() {
+        return entity;
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(entity, type);
+    }
+
+    @Override
+    public String toString() {
+        return "GenericEntity{" + entity.toString() + ", " + type.toString() + "}";
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericType.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericType.java
new file mode 100644
index 0000000..60c9281
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/GenericType.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.GenericArrayType;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
+import java.util.Arrays;
+import java.util.Stack;
+import jakarta.ws.rs.GwtIncompatible;
+
+
+@GwtIncompatible
+public class GenericType<T> {
+
+    private final Type type;
+
+    private final Class<?> rawType;
+
+    public static GenericType forInstance(final Object instance) {
+        final GenericType genericType;
+        if (instance instanceof GenericEntity) {
+            genericType = new GenericType(((GenericEntity) instance).getType());
+        } else {
+            genericType = (instance == null) ? null : new GenericType(instance.getClass());
+        }
+        return genericType;
+    }
+
+    protected GenericType() {
+        // Get the type parameter of GenericType<T> (aka the T value)
+        type = getTypeArgument(getClass(), GenericType.class);
+        rawType = getClass(type);
+    }
+
+    public GenericType(final Type genericType) {
+        if (genericType == null) {
+            throw new IllegalArgumentException("Type must not be null");
+        }
+
+        type = genericType;
+        rawType = getClass(type);
+    }
+
+    public final Type getType() {
+        return type;
+    }
+
+    public final Class<?> getRawType() {
+        return rawType;
+    }
+
+    private static Class getClass(final Type type) {
+        if (type instanceof Class) {
+            return (Class) type;
+        } else if (type instanceof ParameterizedType) {
+            ParameterizedType parameterizedType = (ParameterizedType) type;
+            if (parameterizedType.getRawType() instanceof Class) {
+                return (Class) parameterizedType.getRawType();
+            }
+        } else if (type instanceof GenericArrayType) {
+            GenericArrayType array = (GenericArrayType) type;
+            final Class<?> componentRawType = getClass(array.getGenericComponentType());
+            return getArrayClass(componentRawType);
+        }
+        throw new IllegalArgumentException("Type parameter " + type.toString()
+                + " not a class or parameterized type whose raw type is a class");
+    }
+
+    private static Class getArrayClass(final Class c) {
+        try {
+            Object o = Array.newInstance(c, 0);
+            return o.getClass();
+        } catch (Exception e) {
+            throw new IllegalArgumentException(e);
+        }
+    }
+
+    static Type getTypeArgument(final Class<?> clazz, final Class<?> baseClass) {
+        // collect superclasses
+        Stack<Type> superclasses = new Stack<Type>();
+        Type currentType;
+        Class<?> currentClass = clazz;
+        do {
+            currentType = currentClass.getGenericSuperclass();
+            superclasses.push(currentType);
+            if (currentType instanceof Class) {
+                currentClass = (Class) currentType;
+            } else if (currentType instanceof ParameterizedType) {
+                currentClass = (Class) ((ParameterizedType) currentType).getRawType();
+            }
+        } while (!currentClass.equals(baseClass));
+
+        // find which one supplies type argument and return it
+        TypeVariable tv = baseClass.getTypeParameters()[0];
+        while (!superclasses.isEmpty()) {
+            currentType = superclasses.pop();
+
+            if (currentType instanceof ParameterizedType) {
+                ParameterizedType pt = (ParameterizedType) currentType;
+                Class<?> rawType = (Class) pt.getRawType();
+                int argIndex = Arrays.asList(rawType.getTypeParameters()).indexOf(tv);
+                if (argIndex > -1) {
+                    Type typeArg = pt.getActualTypeArguments()[argIndex];
+                    if (typeArg instanceof TypeVariable) {
+                        // type argument is another type variable - look for the value of that
+                        // variable in subclasses
+                        tv = (TypeVariable) typeArg;
+                        continue;
+                    } else {
+                        // found the value - return it
+                        return typeArg;
+                    }
+                }
+            }
+
+            // needed type argument not supplied - break and throw exception
+            break;
+        }
+        throw new IllegalArgumentException(currentType + " does not specify the type parameter T of GenericType<T>");
+    }
+
+    @Override
+    public boolean equals(final Object obj) {
+        boolean result = this == obj;
+        if (!result && obj instanceof GenericType) {
+            // Compare inner type for equality
+            GenericType<?> that = (GenericType<?>) obj;
+            return this.type.equals(that.type);
+        }
+        return result;
+    }
+
+    @Override
+    public int hashCode() {
+        return type.hashCode();
+    }
+
+    @Override
+    public String toString() {
+        return "GenericType{" + type.toString() + "}";
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/HttpHeaders.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/HttpHeaders.java
new file mode 100644
index 0000000..8f10be5
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/HttpHeaders.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2010, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import jakarta.ws.rs.GwtIncompatible;
+import java.util.function.Predicate;
+
+public interface HttpHeaders {
+
+    public List<String> getRequestHeader(String name);
+
+    public String getHeaderString(String name);
+
+    public boolean containsHeaderString(String name, String valueSeparatorRegex, Predicate<String> valuePredicate);
+
+    public default boolean containsHeaderString(String name, Predicate<String> valuePredicate) {
+        return containsHeaderString(name, ",", valuePredicate);
+    }
+
+    public MultivaluedMap<String, String> getRequestHeaders();
+
+    public List<MediaType> getAcceptableMediaTypes();
+
+    @GwtIncompatible
+    public List<Locale> getAcceptableLanguages();
+
+    public MediaType getMediaType();
+
+    @GwtIncompatible
+    public Locale getLanguage();
+
+    public Map<String, Cookie> getCookies();
+
+    public Date getDate();
+
+    public int getLength();
+
+    public static final String ACCEPT = "Accept";
+
+    public static final String ACCEPT_CHARSET = "Accept-Charset";
+
+    public static final String ACCEPT_ENCODING = "Accept-Encoding";
+
+    public static final String ACCEPT_LANGUAGE = "Accept-Language";
+
+    public static final String ALLOW = "Allow";
+
+    public static final String AUTHORIZATION = "Authorization";
+
+    public static final String CACHE_CONTROL = "Cache-Control";
+
+    public static final String CONTENT_DISPOSITION = "Content-Disposition";
+
+    public static final String CONTENT_ENCODING = "Content-Encoding";
+
+    public static final String CONTENT_ID = "Content-ID";
+
+    public static final String CONTENT_LANGUAGE = "Content-Language";
+
+    public static final String CONTENT_LENGTH = "Content-Length";
+
+    public static final String CONTENT_LOCATION = "Content-Location";
+
+    public static final String CONTENT_TYPE = "Content-Type";
+
+    public static final String DATE = "Date";
+
+    public static final String ETAG = "ETag";
+
+    public static final String EXPECT = "Expect";
+
+    public static final String EXPIRES = "Expires";
+
+    public static final String HOST = "Host";
+
+    public static final String IF_MATCH = "If-Match";
+
+    public static final String IF_MODIFIED_SINCE = "If-Modified-Since";
+
+    public static final String IF_NONE_MATCH = "If-None-Match";
+
+    public static final String IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
+
+    public static final String LAST_MODIFIED = "Last-Modified";
+
+    public static final String LOCATION = "Location";
+
+    public static final String LINK = "Link";
+
+    public static final String RETRY_AFTER = "Retry-After";
+
+    public static final String USER_AGENT = "User-Agent";
+
+    public static final String VARY = "Vary";
+
+    public static final String WWW_AUTHENTICATE = "WWW-Authenticate";
+
+    public static final String COOKIE = "Cookie";
+
+    public static final String SET_COOKIE = "Set-Cookie";
+
+    public static final String LAST_EVENT_ID_HEADER = "Last-Event-ID";
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Link.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Link.java
new file mode 100644
index 0000000..18757ef
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Link.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2011, 2020 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.net.URI;
+import java.util.List;
+import java.util.Map;
+import jakarta.ws.rs.GwtIncompatible;
+
+public abstract class Link {
+
+    public static final String TITLE = "title";
+
+    public static final String REL = "rel";
+
+    public static final String TYPE = "type";
+
+    @GwtIncompatible
+    public abstract URI getUri();
+
+    public abstract UriBuilder getUriBuilder();
+
+    public abstract String getRel();
+
+    public abstract List<String> getRels();
+
+    public abstract String getTitle();
+
+    public abstract String getType();
+
+    public abstract Map<String, String> getParams();
+
+    @Override
+    public abstract String toString();
+
+    public interface Builder {
+
+    }
+
+    @Deprecated
+    public static class JaxbLink {
+    }
+
+    @Deprecated
+    public static class JaxbAdapter {
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MediaType.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MediaType.java
new file mode 100644
index 0000000..cfed65d
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MediaType.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.Objects;
+import java.util.TreeMap;
+import jakarta.ws.rs.GwtIncompatible;
+
+import jakarta.ws.rs.ext.RuntimeDelegate;
+
+@SuppressWarnings("JavaDoc")
+public class MediaType {
+
+    private final String type;
+    private final String subtype;
+    private final Map<String, String> parameters;
+    private final int hash;
+
+    public static final String CHARSET_PARAMETER = "charset";
+
+    public static final String MEDIA_TYPE_WILDCARD = "*";
+    // Common media type constants
+
+    public static final String WILDCARD = "*";
+    public static final MediaType WILDCARD_TYPE = new MediaType();
+
+    public static final String APPLICATION_XML = "application/xml";
+
+    public static final MediaType APPLICATION_XML_TYPE = new MediaType("application", "xml");
+
+    public static final String APPLICATION_ATOM_XML = "application/atom+xml";
+
+    public static final MediaType APPLICATION_ATOM_XML_TYPE = new MediaType("application", "atom+xml");
+
+    public static final String APPLICATION_XHTML_XML = "application/xhtml+xml";
+
+    public static final MediaType APPLICATION_XHTML_XML_TYPE = new MediaType("application", "xhtml+xml");
+
+    @Deprecated
+    public static final String APPLICATION_SVG_XML = "application/svg+xml";
+
+    @Deprecated
+    public static final MediaType APPLICATION_SVG_XML_TYPE = new MediaType("application", "svg+xml");
+
+    public static final String APPLICATION_JSON = "application/json";
+
+    public static final MediaType APPLICATION_JSON_TYPE = new MediaType("application", "json");
+
+    public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
+
+    public static final MediaType APPLICATION_FORM_URLENCODED_TYPE = new MediaType("application", "x-www-form-urlencoded");
+
+    public static final String MULTIPART_FORM_DATA = "multipart/form-data";
+
+    public static final MediaType MULTIPART_FORM_DATA_TYPE = new MediaType("multipart", "form-data");
+
+    public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
+
+    public static final MediaType APPLICATION_OCTET_STREAM_TYPE = new MediaType("application", "octet-stream");
+
+    public static final String TEXT_PLAIN = "text/plain";
+
+    public static final MediaType TEXT_PLAIN_TYPE = new MediaType("text", "plain");
+
+    public static final String TEXT_XML = "text/xml";
+
+    public static final MediaType TEXT_XML_TYPE = new MediaType("text", "xml");
+
+    public static final String TEXT_HTML = "text/html";
+
+    public static final MediaType TEXT_HTML_TYPE = new MediaType("text", "html");
+
+    public static final String SERVER_SENT_EVENTS = "text/event-stream";
+
+    public static final MediaType SERVER_SENT_EVENTS_TYPE = new MediaType("text", "event-stream");
+
+    public static final String APPLICATION_JSON_PATCH_JSON = "application/json-patch+json";
+
+    public static final MediaType APPLICATION_JSON_PATCH_JSON_TYPE = new MediaType("application", "json-patch+json");
+
+    @GwtIncompatible
+    public static MediaType valueOf(final String type) {
+        return RuntimeDelegate.getInstance().createHeaderDelegate(MediaType.class).fromString(type);
+    }
+
+    private static TreeMap<String, String> createParametersMap(final Map<String, String> initialValues) {
+        final TreeMap<String, String> map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        if (initialValues != null) {
+            for (Map.Entry<String, String> e : initialValues.entrySet()) {
+                map.put(e.getKey().toLowerCase(), e.getValue());
+            }
+        }
+        return map;
+    }
+
+    public MediaType(final String type, final String subtype, final Map<String, String> parameters) {
+        this(type, subtype, null, createParametersMap(parameters));
+    }
+
+    public MediaType(final String type, final String subtype) {
+        this(type, subtype, null, null);
+    }
+
+    public MediaType(final String type, final String subtype, final String charset) {
+        this(type, subtype, charset, null);
+    }
+
+    public MediaType() {
+        this(MEDIA_TYPE_WILDCARD, MEDIA_TYPE_WILDCARD, null, null);
+    }
+
+    private MediaType(final String type, final String subtype, final String charset, final Map<String, String> parameterMap) {
+
+        this.type = type == null ? MEDIA_TYPE_WILDCARD : type;
+        this.subtype = subtype == null ? MEDIA_TYPE_WILDCARD : subtype;
+
+        Map<String, String> map = parameterMap;
+        if (map == null) {
+            map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+        }
+
+        if (charset != null && !charset.isEmpty()) {
+            map.put(CHARSET_PARAMETER, charset);
+        }
+        this.parameters = Collections.unmodifiableMap(map);
+        this.hash = Objects.hash(this.type.toLowerCase(), this.subtype.toLowerCase(), this.parameters);
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public boolean isWildcardType() {
+        return this.getType().equals(MEDIA_TYPE_WILDCARD);
+    }
+
+    public String getSubtype() {
+        return this.subtype;
+    }
+
+    public boolean isWildcardSubtype() {
+        return this.getSubtype().equals(MEDIA_TYPE_WILDCARD);
+    }
+
+    public Map<String, String> getParameters() {
+        return parameters;
+    }
+
+    public MediaType withCharset(final String charset) {
+        return new MediaType(this.type, this.subtype, charset, createParametersMap(this.parameters));
+    }
+
+    public boolean isCompatible(final MediaType other) {
+        if (other == null) {
+            return false;
+        }
+
+        return
+            (type.equalsIgnoreCase(other.type) || this.isWildcardType() || other.isWildcardType())
+            &&
+            (subtype.equalsIgnoreCase(other.subtype) || this.isWildcardSubtype()
+             || other.isWildcardSubtype());
+    }
+
+    @SuppressWarnings("UnnecessaryJavaDocLink")
+    @Override
+    public boolean equals(final Object obj) {
+        if (obj == this) {
+            return true;
+        }
+        if (!(obj instanceof MediaType)) {
+            return false;
+        }
+
+        MediaType other = (MediaType) obj;
+        return (this.type.equalsIgnoreCase(other.type)
+                && this.subtype.equalsIgnoreCase(other.subtype)
+                && this.parameters.equals(other.parameters));
+    }
+
+    @SuppressWarnings("UnnecessaryJavaDocLink")
+    @Override
+    public int hashCode() {
+        return this.hash;
+    }
+
+    @Override
+    public String toString() {
+        return RuntimeDelegate.getInstance().createHeaderDelegate(MediaType.class).toString(this);
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedHashMap.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedHashMap.java
new file mode 100644
index 0000000..6029b41
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedHashMap.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class MultivaluedHashMap<K, V> extends AbstractMultivaluedMap<K, V> implements Serializable {
+
+    private static final long serialVersionUID = -6052320403766368902L;
+
+    public MultivaluedHashMap() {
+        super(new HashMap<K, List<V>>());
+    }
+
+    public MultivaluedHashMap(final int initialCapacity) {
+        super(new HashMap<K, List<V>>(initialCapacity));
+    }
+
+    public MultivaluedHashMap(final int initialCapacity, final float loadFactor) {
+        super(new HashMap<K, List<V>>(initialCapacity, loadFactor));
+    }
+
+    public MultivaluedHashMap(final MultivaluedMap<? extends K, ? extends V> map) {
+        this();
+        putAll(map);
+    }
+
+    private <T extends K, U extends V> void putAll(final MultivaluedMap<T, U> map) {
+        for (Entry<T, List<U>> e : map.entrySet()) {
+            store.put(e.getKey(), new ArrayList<V>(e.getValue()));
+        }
+    }
+
+    public MultivaluedHashMap(final Map<? extends K, ? extends V> map) {
+        this();
+        for (Entry<? extends K, ? extends V> e : map.entrySet()) {
+            this.putSingle(e.getKey(), e.getValue());
+        }
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedMap.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedMap.java
new file mode 100644
index 0000000..db141dc
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/MultivaluedMap.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.List;
+import java.util.Map;
+
+public interface MultivaluedMap<K, V> extends Map<K, List<V>> {
+
+    void putSingle(K key, V value);
+
+    void add(K key, V value);
+
+    V getFirst(K key);
+
+    void addAll(K key, V... newValues);
+
+    void addAll(K key, List<V> valueList);
+
+    void addFirst(K key, V value);
+
+    boolean equalsIgnoreValueOrder(MultivaluedMap<K, V> otherMap);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NewCookie.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NewCookie.java
new file mode 100644
index 0000000..a6c0ee9
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NewCookie.java
@@ -0,0 +1,333 @@
+/*
+ * 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.util.Date;
+import java.util.Objects;
+
+import jakarta.ws.rs.ext.RuntimeDelegate;
+import jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+
+public class NewCookie extends Cookie {
+
+    public static final int DEFAULT_MAX_AGE = -1;
+
+    @Deprecated
+    private static final HeaderDelegate<NewCookie> DELEGATE = RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class);
+
+    private final String comment;
+    private final int maxAge;
+    private final Date expiry;
+    private final boolean secure;
+    private final boolean httpOnly;
+    private final SameSite sameSite;
+
+    @Deprecated
+    public NewCookie(final String name, final String value) {
+        this(name, value, null, null, DEFAULT_VERSION, null, DEFAULT_MAX_AGE, null, false, false, null);
+    }
+
+    @Deprecated
+    public NewCookie(final String name,
+            final String value,
+            final String path,
+            final String domain,
+            final String comment,
+            final int maxAge,
+            final boolean secure) {
+        this(name, value, path, domain, DEFAULT_VERSION, comment, maxAge, null, secure, false, null);
+    }
+
+    @Deprecated
+    public NewCookie(final String name,
+            final String value,
+            final String path,
+            final String domain,
+            final String comment,
+            final int maxAge,
+            final boolean secure,
+            final boolean httpOnly) {
+        this(name, value, path, domain, DEFAULT_VERSION, comment, maxAge, null, secure, httpOnly, null);
+    }
+
+    @Deprecated
+    public NewCookie(final String name,
+            final String value,
+            final String path,
+            final String domain,
+            final int version,
+            final String comment,
+            final int maxAge,
+            final boolean secure) {
+        this(name, value, path, domain, version, comment, maxAge, null, secure, false, null);
+    }
+
+    @Deprecated
+    public NewCookie(final String name,
+            final String value,
+            final String path,
+            final String domain,
+            final int version,
+            final String comment,
+            final int maxAge,
+            final Date expiry,
+            final boolean secure,
+            final boolean httpOnly) {
+        this(name, value, path, domain, version, comment, maxAge, expiry, secure, httpOnly, null);
+    }
+
+    @Deprecated
+    public NewCookie(final String name,
+            final String value,
+            final String path,
+            final String domain,
+            final int version,
+            final String comment,
+            final int maxAge,
+            final Date expiry,
+            final boolean secure,
+            final boolean httpOnly,
+            final SameSite sameSite) {
+        super(name, value, path, domain, version);
+        this.comment = comment;
+        this.maxAge = maxAge;
+        this.expiry = expiry;
+        this.secure = secure;
+        this.httpOnly = httpOnly;
+        this.sameSite = sameSite;
+    }
+
+    @Deprecated
+    public NewCookie(final Cookie cookie) {
+        this(cookie, null, DEFAULT_MAX_AGE, null, false, false, null);
+    }
+
+    @Deprecated
+    public NewCookie(final Cookie cookie, final String comment, final int maxAge, final boolean secure) {
+        this(cookie, comment, maxAge, null, secure, false, null);
+    }
+
+    @Deprecated
+    public NewCookie(final Cookie cookie, final String comment, final int maxAge, final Date expiry, final boolean secure, final boolean httpOnly) {
+        this(cookie, comment, maxAge, expiry, secure, httpOnly, null);
+    }
+
+    @Deprecated
+    public NewCookie(final Cookie cookie, final String comment, final int maxAge, final Date expiry, final boolean secure, final boolean httpOnly,
+            final SameSite sameSite) {
+        super(cookie == null ? null : cookie.getName(),
+                cookie == null ? null : cookie.getValue(),
+                cookie == null ? null : cookie.getPath(),
+                cookie == null ? null : cookie.getDomain(),
+                cookie == null ? Cookie.DEFAULT_VERSION : cookie.getVersion());
+        this.comment = comment;
+        this.maxAge = maxAge;
+        this.expiry = expiry;
+        this.secure = secure;
+        this.httpOnly = httpOnly;
+        this.sameSite = sameSite;
+    }
+
+    protected NewCookie(AbstractNewCookieBuilder<?> builder) {
+        super(builder);
+        this.comment = builder.comment;
+        this.maxAge = builder.maxAge;
+        this.expiry = builder.expiry;
+        this.secure = builder.secure;
+        this.httpOnly = builder.httpOnly;
+        this.sameSite = builder.sameSite;
+    }
+
+    @Deprecated
+    public static NewCookie valueOf(final String value) {
+        return DELEGATE.fromString(value);
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public int getMaxAge() {
+        return maxAge;
+    }
+
+    public Date getExpiry() {
+        return expiry;
+    }
+
+    public boolean isSecure() {
+        return secure;
+    }
+
+    public boolean isHttpOnly() {
+        return httpOnly;
+    }
+
+    public SameSite getSameSite() {
+        return sameSite;
+    }
+
+    public Cookie toCookie() {
+        return new Cookie(this.getName(), this.getValue(), this.getPath(),
+                this.getDomain(), this.getVersion());
+    }
+
+    @Override
+    @Deprecated
+    public String toString() {
+        return DELEGATE.toString(this);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(getName(), getValue(), getVersion(), getPath(), getDomain(),
+                comment, maxAge, expiry, secure, httpOnly, sameSite);
+    }
+
+    @SuppressWarnings({ "StringEquality", "RedundantIfStatement" })
+    @Override
+    public boolean equals(final Object obj) {
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final NewCookie other = (NewCookie) obj;
+        if (!Objects.equals(this.getName(), other.getName())) {
+            return false;
+        }
+        if (!Objects.equals(this.getValue(), other.getValue())) {
+            return false;
+        }
+        if (this.getVersion() != other.getVersion()) {
+            return false;
+        }
+        if (!Objects.equals(this.getPath(), other.getPath())) {
+            return false;
+        }
+        if (!Objects.equals(this.getDomain(), other.getDomain())) {
+            return false;
+        }
+        if (!Objects.equals(this.comment, other.comment)) {
+            return false;
+        }
+        if (this.maxAge != other.maxAge) {
+            return false;
+        }
+
+        if (!Objects.equals(this.expiry, other.expiry)) {
+            return false;
+        }
+
+        if (this.secure != other.secure) {
+            return false;
+        }
+        if (this.httpOnly != other.httpOnly) {
+            return false;
+        }
+        if (this.sameSite != other.sameSite) {
+            return false;
+        }
+        return true;
+    }
+
+    public enum SameSite {
+        NONE,
+        LAX,
+        STRICT
+    }
+
+    public static class Builder extends AbstractNewCookieBuilder<Builder> {
+
+        public Builder(String name) {
+            super(name);
+        }
+
+        public Builder(Cookie cookie) {
+            super(cookie);
+        }
+
+        @Override
+        public NewCookie build() {
+            return new NewCookie(this);
+        }
+    }
+
+    public abstract static class AbstractNewCookieBuilder<T extends AbstractNewCookieBuilder<T>> extends AbstractCookieBuilder<AbstractNewCookieBuilder<T>> {
+
+        private String comment;
+        private int maxAge = DEFAULT_MAX_AGE;
+        private Date expiry;
+        private boolean secure;
+        private boolean httpOnly;
+        private SameSite sameSite;
+
+        public AbstractNewCookieBuilder(String name) {
+            super(name);
+        }
+
+        public AbstractNewCookieBuilder(Cookie cookie) {
+            super(cookie == null ? null : cookie.getName());
+            if (cookie != null) {
+                value(cookie.getValue());
+                path(cookie.getPath());
+                domain(cookie.getDomain());
+                version(cookie.getVersion());
+            }
+        }
+
+        public T comment(String comment) {
+            this.comment = comment;
+            return self();
+        }
+
+        public T maxAge(int maxAge) {
+            this.maxAge = maxAge;
+            return self();
+        }
+
+        public T expiry(Date expiry) {
+            this.expiry = expiry;
+            return self();
+        }
+
+        public T secure(boolean secure) {
+            this.secure = secure;
+            return self();
+        }
+
+        public T httpOnly(boolean httpOnly) {
+            this.httpOnly = httpOnly;
+            return self();
+        }
+
+        public T sameSite(SameSite sameSite) {
+            this.sameSite = sameSite;
+            return self();
+        }
+
+        @SuppressWarnings("unchecked")
+        private T self() {
+            return (T) this;
+        }
+
+        @Override
+        public abstract NewCookie build();
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NoContentException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NoContentException.java
new file mode 100644
index 0000000..45cdca2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/NoContentException.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2013, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.io.IOException;
+
+public class NoContentException extends IOException {
+    private static final long serialVersionUID = -3082577759787473245L;
+
+    public NoContentException(final String message) {
+        super(message);
+    }
+
+    public NoContentException(final String message, final Throwable cause) {
+        super(message, cause);
+    }
+
+    public NoContentException(final Throwable cause) {
+        super(cause);
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/PathSegment.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/PathSegment.java
new file mode 100644
index 0000000..fb9e626
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/PathSegment.java
@@ -0,0 +1,24 @@
+/*
+ * 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+public interface PathSegment {
+
+    String getPath();
+
+    MultivaluedMap<String, String> getMatrixParameters();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Request.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Request.java
new file mode 100644
index 0000000..735c1e6
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Request.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.List;
+
+public interface Request {
+
+    public String getMethod();
+
+    public Variant selectVariant(List<Variant> variants);
+
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Response.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Response.java
new file mode 100644
index 0000000..2ed764e
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Response.java
@@ -0,0 +1,274 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.lang.annotation.Annotation;
+import java.net.URI;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import jakarta.ws.rs.GwtIncompatible;
+
+public abstract class Response implements AutoCloseable {
+
+    protected Response() {
+    }
+
+    public abstract int getStatus();
+
+    public abstract StatusType getStatusInfo();
+    
+    public abstract Object getEntity();
+
+    public abstract <T> T readEntity(Class<T> entityType);
+
+    @GwtIncompatible
+    public abstract <T> T readEntity(GenericType<T> entityType);
+
+    public abstract <T> T readEntity(Class<T> entityType, Annotation[] annotations);
+
+    @GwtIncompatible
+    public abstract <T> T readEntity(GenericType<T> entityType, Annotation[] annotations);
+    
+    public abstract boolean hasEntity();
+    
+    public abstract boolean bufferEntity();
+
+    @Override
+    public abstract void close();
+    
+    public abstract MediaType getMediaType();
+    
+    public abstract Locale getLanguage();
+
+    public abstract int getLength();
+
+    public abstract Set<String> getAllowedMethods();
+    
+    public abstract Map<String, NewCookie> getCookies();
+
+    public abstract EntityTag getEntityTag();
+
+    public abstract Date getDate();
+    
+    public abstract Date getLastModified();
+
+    @GwtIncompatible
+    public abstract URI getLocation();
+
+    public abstract Set<Link> getLinks();
+
+    public abstract boolean hasLink(String relation);
+    
+    public abstract Link getLink(String relation);
+    
+    public abstract Link.Builder getLinkBuilder(String relation);
+    
+    public abstract MultivaluedMap<String, Object> getMetadata();
+
+    public MultivaluedMap<String, Object> getHeaders() {
+        return getMetadata();
+    }
+
+    public abstract MultivaluedMap<String, String> getStringHeaders();
+    
+    public abstract String getHeaderString(String name);
+    
+    public boolean isClosed() {
+        try {
+            hasEntity();
+            return false;
+        } catch (IllegalStateException ignored) {
+            return true;
+        }
+    }
+    
+    public interface StatusType {
+        
+        public int getStatusCode();
+        
+        public Status.Family getFamily();
+        
+        public String getReasonPhrase();
+
+        public default Status toEnum() {
+            return Status.fromStatusCode(getStatusCode());
+        }
+    }
+
+    public enum Status implements StatusType {
+
+        OK(200, "OK"),
+
+        CREATED(201, "Created"),
+        
+        ACCEPTED(202, "Accepted"),
+        
+        NO_CONTENT(204, "No Content"),
+        
+        RESET_CONTENT(205, "Reset Content"),
+        
+        PARTIAL_CONTENT(206, "Partial Content"),
+        
+        MULTIPLE_CHOICES(300, "Multiple Choices"),
+        
+        MOVED_PERMANENTLY(301, "Moved Permanently"),
+        
+        FOUND(302, "Found"),
+        
+        SEE_OTHER(303, "See Other"),
+        
+        NOT_MODIFIED(304, "Not Modified"),
+        
+        USE_PROXY(305, "Use Proxy"),
+        
+        TEMPORARY_REDIRECT(307, "Temporary Redirect"),
+        
+        PERMANENT_REDIRECT(308, "Permanent Redirect"),
+        
+        BAD_REQUEST(400, "Bad Request"),
+        
+        UNAUTHORIZED(401, "Unauthorized"),
+        
+        PAYMENT_REQUIRED(402, "Payment Required"),
+        
+        FORBIDDEN(403, "Forbidden"),
+        
+        NOT_FOUND(404, "Not Found"),
+        
+        METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
+        
+        NOT_ACCEPTABLE(406, "Not Acceptable"),
+        
+        PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"),
+        
+        REQUEST_TIMEOUT(408, "Request Timeout"),
+        
+        CONFLICT(409, "Conflict"),
+        
+        GONE(410, "Gone"),
+        
+        LENGTH_REQUIRED(411, "Length Required"),
+        
+        PRECONDITION_FAILED(412, "Precondition Failed"),
+        
+        REQUEST_ENTITY_TOO_LARGE(413, "Request Entity Too Large"),
+        
+        REQUEST_URI_TOO_LONG(414, "Request-URI Too Long"),
+        
+        UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"),
+        
+        REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"),
+        
+        EXPECTATION_FAILED(417, "Expectation Failed"),
+        
+        PRECONDITION_REQUIRED(428, "Precondition Required"),
+        
+        TOO_MANY_REQUESTS(429, "Too Many Requests"),
+        
+        REQUEST_HEADER_FIELDS_TOO_LARGE(431, "Request Header Fields Too Large"),
+        
+        UNAVAILABLE_FOR_LEGAL_REASONS(451, "Unavailable For Legal Reasons"),
+        
+        INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
+        
+        NOT_IMPLEMENTED(501, "Not Implemented"),
+        
+        BAD_GATEWAY(502, "Bad Gateway"),
+        
+        SERVICE_UNAVAILABLE(503, "Service Unavailable"),
+        
+        GATEWAY_TIMEOUT(504, "Gateway Timeout"),
+        
+        HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version Not Supported"),
+        
+        NETWORK_AUTHENTICATION_REQUIRED(511, "Network Authentication Required");
+
+        private final int code;
+        private final String reason;
+        private final Family family;
+        
+        public enum Family {
+            
+            INFORMATIONAL,
+            
+            SUCCESSFUL,
+            
+            REDIRECTION,
+            
+            CLIENT_ERROR,
+            
+            SERVER_ERROR,
+            
+            OTHER;
+            
+            public static Family familyOf(final int statusCode) {
+                switch (statusCode / 100) {
+                case 1:
+                    return Family.INFORMATIONAL;
+                case 2:
+                    return Family.SUCCESSFUL;
+                case 3:
+                    return Family.REDIRECTION;
+                case 4:
+                    return Family.CLIENT_ERROR;
+                case 5:
+                    return Family.SERVER_ERROR;
+                default:
+                    return Family.OTHER;
+                }
+            }
+        }
+
+        Status(final int statusCode, final String reasonPhrase) {
+            this.code = statusCode;
+            this.reason = reasonPhrase;
+            this.family = Family.familyOf(statusCode);
+        }
+
+        @Override
+        public Family getFamily() {
+            return family;
+        }
+
+        @Override
+        public int getStatusCode() {
+            return code;
+        }
+
+        @Override
+        public String getReasonPhrase() {
+            return toString();
+        }
+
+        @Override
+        public String toString() {
+            return reason;
+        }
+        
+        public static Status fromStatusCode(final int statusCode) {
+            for (Status s : Status.values()) {
+                if (s.code == statusCode) {
+                    return s;
+                }
+            }
+            return null;
+        }
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/SecurityContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/SecurityContext.java
new file mode 100644
index 0000000..f2ac624
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/SecurityContext.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.security.Principal;
+import jakarta.ws.rs.GwtIncompatible;
+
+public interface SecurityContext {
+
+    public static final String BASIC_AUTH = "BASIC";
+
+    public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";
+
+    public static final String DIGEST_AUTH = "DIGEST";
+
+    public static final String FORM_AUTH = "FORM";
+
+    @GwtIncompatible
+    public Principal getUserPrincipal();
+
+    public boolean isUserInRole(String role);
+
+    public boolean isSecure();
+
+    public String getAuthenticationScheme();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/StreamingOutput.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/StreamingOutput.java
new file mode 100644
index 0000000..f55ae07
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/StreamingOutput.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import jakarta.ws.rs.GwtIncompatible;
+
+import jakarta.ws.rs.WebApplicationException;
+
+@GwtIncompatible
+public interface StreamingOutput {
+    void write(OutputStream output) throws IOException, WebApplicationException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilder.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilder.java
new file mode 100644
index 0000000..3c84518
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilder.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.Map;
+
+
+public abstract class UriBuilder {
+
+    protected UriBuilder() {
+    }
+
+    public static UriBuilder newInstance() {
+        return null;
+    }
+
+    public static UriBuilder fromUri(final String uriTemplate) {
+        return newInstance().uri(uriTemplate);
+    }
+
+    public static UriBuilder fromPath(final String path) throws IllegalArgumentException {
+        return newInstance().path(path);
+    }
+
+    public static UriBuilder fromResource(final Class<?> resource) {
+        return newInstance().path(resource);
+    }
+
+    public static UriBuilder fromMethod(final Class<?> resource, final String method) {
+        return newInstance().path(resource, method);
+    }
+
+    public abstract UriBuilder clone();
+
+    public abstract UriBuilder uri(String uriTemplate);
+
+    public abstract UriBuilder scheme(String scheme);
+
+    public abstract UriBuilder schemeSpecificPart(String ssp);
+
+    public abstract UriBuilder userInfo(String ui);
+
+    public abstract UriBuilder host(String host);
+
+    public abstract UriBuilder port(int port);
+
+    public abstract UriBuilder replacePath(String path);
+
+    public abstract UriBuilder path(String path);
+
+    public abstract UriBuilder path(Class resource);
+
+    public abstract UriBuilder path(Class resource, String method);
+
+    public abstract UriBuilder segment(String... segments);
+
+    public abstract UriBuilder replaceMatrix(String matrix);
+
+    public abstract UriBuilder matrixParam(String name, Object... values);
+
+    public abstract UriBuilder replaceMatrixParam(String name, Object... values);
+
+    public abstract UriBuilder replaceQuery(String query);
+
+    public abstract UriBuilder queryParam(String name, Object... values);
+
+    public abstract UriBuilder replaceQueryParam(String name, Object... values);
+
+    public abstract UriBuilder fragment(String fragment);
+
+    public abstract UriBuilder resolveTemplate(String name, Object value);
+
+    public abstract UriBuilder resolveTemplate(String name, Object value, boolean encodeSlashInPath);
+
+    public abstract UriBuilder resolveTemplateFromEncoded(String name, Object value);
+
+    public abstract UriBuilder resolveTemplates(Map<String, Object> templateValues);
+
+    public abstract UriBuilder resolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath)
+            throws IllegalArgumentException;
+
+    public abstract UriBuilder resolveTemplatesFromEncoded(Map<String, Object> templateValues);
+
+    public abstract String toTemplate();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilderException.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilderException.java
new file mode 100644
index 0000000..3e900b2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriBuilderException.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+public class UriBuilderException extends java.lang.RuntimeException {
+
+    private static final long serialVersionUID = 956255913370721193L;
+
+    public UriBuilderException() {
+    }
+
+    public UriBuilderException(final String msg) {
+        super(msg);
+    }
+
+    public UriBuilderException(final String msg, final Throwable cause) {
+        super(msg, cause);
+    }
+
+    public UriBuilderException(final Throwable cause) {
+        super(cause);
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriInfo.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriInfo.java
new file mode 100644
index 0000000..45385a8
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/UriInfo.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+import java.util.List;
+
+public interface UriInfo {
+
+    public String getPath();
+
+    public String getPath(boolean decode);
+
+    public List<PathSegment> getPathSegments();
+
+    public List<PathSegment> getPathSegments(boolean decode);
+
+    public UriBuilder getRequestUriBuilder();
+
+    public UriBuilder getAbsolutePathBuilder();
+
+    public UriBuilder getBaseUriBuilder();
+
+    public MultivaluedMap<String, String> getPathParameters();
+
+    public MultivaluedMap<String, String> getPathParameters(boolean decode);
+
+    public MultivaluedMap<String, String> getQueryParameters();
+
+    public MultivaluedMap<String, String> getQueryParameters(boolean decode);
+
+    public List<String> getMatchedURIs();
+
+    public List<String> getMatchedURIs(boolean decode);
+
+    public List<Object> getMatchedResources();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Variant.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Variant.java
new file mode 100644
index 0000000..758693c
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/Variant.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.core;
+
+public class Variant {
+    public abstract static class VariantListBuilder {
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/package-info.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/package-info.java
new file mode 100644
index 0000000..08eafe1
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/core/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/**
+ * Low-level interfaces and annotations used to create RESTful service resources.
+ */
+package jakarta.ws.rs.core;
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ContextResolver.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ContextResolver.java
new file mode 100644
index 0000000..20a4aeb
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ContextResolver.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+public interface ContextResolver<T> {
+
+    T getContext(Class<?> type);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ExceptionMapper.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ExceptionMapper.java
new file mode 100644
index 0000000..d90dfd5
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ExceptionMapper.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.core.Response;
+
+public interface ExceptionMapper<E extends Throwable> {
+    Response toResponse(E exception);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/FactoryFinder.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/FactoryFinder.java
new file mode 100644
index 0000000..1d96aa2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/FactoryFinder.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+
+@GwtIncompatible
+final class FactoryFinder {
+
+    private FactoryFinder() {
+        // prevents instantiation
+    }
+
+    static <T> Object find(final String factoryId, final Class<T> service) throws ClassNotFoundException {
+        return null;
+    }
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/InterceptorContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/InterceptorContext.java
new file mode 100644
index 0000000..5dcc5ec
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/InterceptorContext.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Collection;
+
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.GwtIncompatible;
+
+public interface InterceptorContext {
+
+    public Object getProperty(String name);
+
+    public default boolean hasProperty(String name) {
+        return getProperty(name) != null;
+    }
+
+    public Collection<String> getPropertyNames();
+
+    public void setProperty(String name, Object object);
+
+    public void removeProperty(String name);
+
+    @GwtIncompatible
+    public Annotation[] getAnnotations();
+
+    @GwtIncompatible
+    public void setAnnotations(Annotation[] annotations);
+
+    Class<?> getType();
+
+    public void setType(Class<?> type);
+
+    @GwtIncompatible
+    Type getGenericType();
+
+    @GwtIncompatible
+    public void setGenericType(Type genericType);
+
+    public MediaType getMediaType();
+
+    public void setMediaType(MediaType mediaType);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyReader.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyReader.java
new file mode 100644
index 0000000..81af3da
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyReader.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+
+@GwtIncompatible
+public interface MessageBodyReader<T> {
+
+    public boolean isReadable(Class<?> type, Type genericType,
+            Annotation[] annotations, MediaType mediaType);
+
+    public T readFrom(Class<T> type, Type genericType,
+            Annotation[] annotations, MediaType mediaType,
+            MultivaluedMap<String, String> httpHeaders,
+            InputStream entityStream) throws java.io.IOException, jakarta.ws.rs.WebApplicationException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyWriter.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyWriter.java
new file mode 100644
index 0000000..6c758a5
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/MessageBodyWriter.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.io.OutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+
+@GwtIncompatible
+public interface MessageBodyWriter<T> {
+
+    public boolean isWriteable(Class<?> type, Type genericType,
+            Annotation[] annotations, MediaType mediaType);
+
+    public default long getSize(final T t, final Class<?> type, final Type genericType, final Annotation[] annotations,
+            final MediaType mediaType) {
+        return -1L;
+    }
+
+    public void writeTo(T t, Class<?> type, Type genericType, Annotation[] annotations,
+            MediaType mediaType,
+            MultivaluedMap<String, Object> httpHeaders,
+            OutputStream entityStream)
+            throws java.io.IOException, jakarta.ws.rs.WebApplicationException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverter.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverter.java
new file mode 100644
index 0000000..92ebb9f
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverter.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import jakarta.ws.rs.DefaultValue;
+
+public interface ParamConverter<T> {
+
+    @Target({ ElementType.TYPE })
+    @Retention(RetentionPolicy.RUNTIME)
+    @Documented
+    public static @interface Lazy {
+    }
+
+    public T fromString(String value);
+
+    public String toString(T value);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverterProvider.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverterProvider.java
new file mode 100644
index 0000000..0871906
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ParamConverterProvider.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2012, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+
+public interface ParamConverterProvider {
+    public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Provider.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Provider.java
new file mode 100644
index 0000000..27231fa
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Provider.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ ElementType.TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface Provider {
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Providers.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Providers.java
new file mode 100644
index 0000000..270bb4a
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/Providers.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+
+import jakarta.ws.rs.core.MediaType;
+
+@GwtIncompatible
+public interface Providers {
+
+    <T> MessageBodyReader<T> getMessageBodyReader(Class<T> type,
+            Type genericType, Annotation[] annotations, MediaType mediaType);
+
+    <T> MessageBodyWriter<T> getMessageBodyWriter(Class<T> type,
+            Type genericType, Annotation[] annotations, MediaType mediaType);
+
+    <T extends Throwable> ExceptionMapper<T> getExceptionMapper(Class<T> type);
+
+    <T> ContextResolver<T> getContextResolver(Class<T> contextType,
+            MediaType mediaType);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptor.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptor.java
new file mode 100644
index 0000000..dd864b2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptor.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+
+@GwtIncompatible
+public interface ReaderInterceptor {
+
+    public Object aroundReadFrom(ReaderInterceptorContext context)
+            throws java.io.IOException, jakarta.ws.rs.WebApplicationException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptorContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptorContext.java
new file mode 100644
index 0000000..6a785cf
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/ReaderInterceptorContext.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.io.IOException;
+import java.io.InputStream;
+
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MultivaluedMap;
+
+@GwtIncompatible
+public interface ReaderInterceptorContext extends InterceptorContext {
+
+    public Object proceed() throws IOException, WebApplicationException;
+
+    public InputStream getInputStream();
+
+    public void setInputStream(InputStream is);
+
+    public MultivaluedMap<String, String> getHeaders();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/RuntimeDelegate.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/RuntimeDelegate.java
new file mode 100644
index 0000000..1b09d71
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/RuntimeDelegate.java
@@ -0,0 +1,85 @@
+/*
+ * 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.core.Application;
+import jakarta.ws.rs.core.Link;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.Variant.VariantListBuilder;
+
+public abstract class RuntimeDelegate {
+
+    public static final String JAXRS_RUNTIME_DELEGATE_PROPERTY = "jakarta.ws.rs.ext.RuntimeDelegate";
+    private static final Object RD_LOCK = new Object();
+    private static volatile RuntimeDelegate cachedDelegate;
+
+    protected RuntimeDelegate() {
+    }
+
+    public static RuntimeDelegate getInstance() {
+       return new RuntimeDelegate(){
+           @Override
+           public UriBuilder createUriBuilder() {
+               return null;
+           }
+
+           @Override
+           public VariantListBuilder createVariantListBuilder() {
+               return null;
+           }
+
+           @Override
+           public <T> T createEndpoint(Application application, Class<T> endpointType)
+               throws IllegalArgumentException, UnsupportedOperationException {
+               return null;
+           }
+
+           @Override
+           public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type)
+               throws IllegalArgumentException {
+               return null;
+           }
+
+           @Override
+           public Link.Builder createLinkBuilder() {
+               return null;
+           }
+       };
+    }
+
+    public static void setInstance(final RuntimeDelegate rd) {
+    }
+
+    public abstract UriBuilder createUriBuilder();
+
+    public abstract VariantListBuilder createVariantListBuilder();
+
+    public abstract <T> T createEndpoint(Application application, Class<T> endpointType)
+            throws IllegalArgumentException, UnsupportedOperationException;
+
+    public abstract <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type)
+            throws IllegalArgumentException;
+
+    public static interface HeaderDelegate<T> {
+
+        public T fromString(String value);
+
+        public String toString(T value);
+    }
+
+    public abstract Link.Builder createLinkBuilder();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptor.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptor.java
new file mode 100644
index 0000000..51fda40
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptor.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+
+@GwtIncompatible
+public interface WriterInterceptor {
+
+    void aroundWriteTo(WriterInterceptorContext context)
+            throws java.io.IOException, jakarta.ws.rs.WebApplicationException;
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptorContext.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptorContext.java
new file mode 100644
index 0000000..1c580e4
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/WriterInterceptorContext.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2011, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+package jakarta.ws.rs.ext;
+
+import jakarta.ws.rs.GwtIncompatible;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MultivaluedMap;
+
+@GwtIncompatible
+public interface WriterInterceptorContext extends InterceptorContext {
+
+    void proceed() throws IOException, WebApplicationException;
+
+    Object getEntity();
+
+    void setEntity(Object entity);
+
+    OutputStream getOutputStream();
+
+    public void setOutputStream(OutputStream os);
+
+    MultivaluedMap<String, Object> getHeaders();
+}
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/package-info.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/package-info.java
new file mode 100644
index 0000000..efdb5ee
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/ext/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/**
+ * APIs that provide extensions to the types supported by the JAX-RS API.
+ */
+package jakarta.ws.rs.ext;
diff --git a/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/package-info.java b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/package-info.java
new file mode 100644
index 0000000..7458d25
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/jakarta/ws/rs/package-info.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2010, 2019 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
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+/**
+ * High-level interfaces and annotations used to create RESTful service resources. For example:
+ *
+ * <pre>
+ * &#064;Path("widgets/{widgetid}")
+ * &#064;Consumes("application/widgets+xml")
+ * &#064;Produces("application/widgets+xml")
+ * public class WidgetResource {
+ *
+ *     &#064;GET
+ *     public String getWidget(&#064;PathParam("widgetid") String id) {
+ *         return getWidgetAsXml(id);
+ *     }
+ *
+ *     &#064;PUT
+ *     public void updateWidget(&#064;PathParam("widgetid") String id,
+ *                              Source update) {
+ *         updateWidgetFromXml(id, update);
+ *     }
+ *
+ *     ...
+ * }
+ * </pre>
+ */
+package jakarta.ws.rs;
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ApplicationPath.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ApplicationPath.java
deleted file mode 100644
index 772bdf0..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ApplicationPath.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Documented
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface ApplicationPath {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BadRequestException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BadRequestException.java
deleted file mode 100644
index dbfafec..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BadRequestException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class BadRequestException extends ClientErrorException {
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BeanParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BeanParam.java
deleted file mode 100644
index 5781c8b..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/BeanParam.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface BeanParam {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ClientErrorException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ClientErrorException.java
deleted file mode 100644
index 09f3412..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ClientErrorException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class ClientErrorException extends RuntimeException {
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ConstrainedTo.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ConstrainedTo.java
deleted file mode 100644
index 3f0b34c..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ConstrainedTo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface ConstrainedTo {
-
-  
-  RuntimeType value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Consumes.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Consumes.java
deleted file mode 100644
index 4ffa927..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Consumes.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Inherited
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Consumes {
-
-  
-  String[] value() default "*/*";
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/CookieParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/CookieParam.java
deleted file mode 100644
index 33c21b5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/CookieParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface CookieParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DELETE.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DELETE.java
deleted file mode 100644
index 7027410..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DELETE.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.DELETE)
-@Documented
-public @interface DELETE {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DefaultValue.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DefaultValue.java
deleted file mode 100644
index f143818..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/DefaultValue.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface DefaultValue {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Encoded.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Encoded.java
deleted file mode 100644
index 3a4e558..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Encoded.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({
-  ElementType.PARAMETER,
-  ElementType.METHOD,
-  ElementType.FIELD,
-  ElementType.CONSTRUCTOR,
-  ElementType.TYPE
-})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Encoded {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ForbiddenException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ForbiddenException.java
deleted file mode 100644
index 11188d5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ForbiddenException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class ForbiddenException extends ClientErrorException {
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/FormParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/FormParam.java
deleted file mode 100644
index fff191d..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/FormParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface FormParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/GET.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/GET.java
deleted file mode 100644
index 1048bc5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/GET.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.GET)
-@Documented
-public @interface GET {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HEAD.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HEAD.java
deleted file mode 100644
index 60e13fd..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HEAD.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.HEAD)
-@Documented
-public @interface HEAD {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HeaderParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HeaderParam.java
deleted file mode 100644
index 907180b..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HeaderParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface HeaderParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HttpMethod.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HttpMethod.java
deleted file mode 100644
index 9c481f0..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/HttpMethod.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.ANNOTATION_TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface HttpMethod {
-
-  
-  public static final String GET = "GET";
-  
-  public static final String POST = "POST";
-  
-  public static final String PUT = "PUT";
-  
-  public static final String DELETE = "DELETE";
-  
-  public static final String PATCH = "PATCH";
-  
-  public static final String HEAD = "HEAD";
-  
-  public static final String OPTIONS = "OPTIONS";
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/InternalServerErrorException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/InternalServerErrorException.java
deleted file mode 100644
index e5b4761..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/InternalServerErrorException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class InternalServerErrorException extends ClientErrorException{
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/MatrixParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/MatrixParam.java
deleted file mode 100644
index e94d34d..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/MatrixParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface MatrixParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NameBinding.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NameBinding.java
deleted file mode 100644
index e760096..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NameBinding.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface NameBinding {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAcceptableException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAcceptableException.java
deleted file mode 100644
index 5ea71e5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAcceptableException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class NotAcceptableException extends ClientErrorException{
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAllowedException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAllowedException.java
deleted file mode 100644
index eb192d2..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAllowedException.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class NotAllowedException extends ClientErrorException{
-
-  private static final long serialVersionUID = -586776054369626119L;
-
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAuthorizedException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAuthorizedException.java
deleted file mode 100644
index 28361f9..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotAuthorizedException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class NotAuthorizedException extends ClientErrorException {
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotFoundException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotFoundException.java
deleted file mode 100644
index 16816e0..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotFoundException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-
-public class NotFoundException extends ClientErrorException {
-
-  private static final long serialVersionUID = -6820866117511628388L;
-
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotSupportedException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotSupportedException.java
deleted file mode 100644
index cbb97fd..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/NotSupportedException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class NotSupportedException extends RuntimeException {
-
-  private static final long serialVersionUID = -8286622745725405656L;
-
-
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/OPTIONS.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/OPTIONS.java
deleted file mode 100644
index 8eb08e6..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/OPTIONS.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.OPTIONS)
-@Documented
-public @interface OPTIONS {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PATCH.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PATCH.java
deleted file mode 100644
index d12caec..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PATCH.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.PATCH)
-@Documented
-public @interface PATCH {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/POST.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/POST.java
deleted file mode 100644
index 6ff996c..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/POST.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.POST)
-@Documented
-public @interface POST {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PUT.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PUT.java
deleted file mode 100644
index 5f0aea6..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PUT.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.PUT)
-@Documented
-public @interface PUT {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Path.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Path.java
deleted file mode 100644
index dd76df1..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Path.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Path {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PathParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PathParam.java
deleted file mode 100644
index 0c84e43..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/PathParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface PathParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Priorities.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Priorities.java
deleted file mode 100644
index 2e56dd1..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Priorities.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-
-public final class Priorities {
-
-  private Priorities() {
-    // prevents construction
-  }
-
-  
-  public static final int AUTHENTICATION = 1000;
-  
-  public static final int AUTHORIZATION = 2000;
-  
-  public static final int HEADER_DECORATOR = 3000;
-  
-  public static final int ENTITY_CODER = 4000;
-  
-  public static final int USER = 5000;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Produces.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Produces.java
deleted file mode 100644
index 3d9b504..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/Produces.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Inherited
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Produces {
-
-  
-  String[] value() default "*/*";
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/QueryParam.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/QueryParam.java
deleted file mode 100644
index 0d37874..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/QueryParam.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface QueryParam {
-
-  
-  String value();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/RuntimeType.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/RuntimeType.java
deleted file mode 100644
index 67eaa1c..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/RuntimeType.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-
-public enum RuntimeType {
-  
-  CLIENT,
-  
-  SERVER
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ServiceUnavailableException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ServiceUnavailableException.java
deleted file mode 100644
index e7e0503..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ServiceUnavailableException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-
-public class ServiceUnavailableException {
-
-    
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/WebApplicationException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/WebApplicationException.java
deleted file mode 100644
index 54a70d0..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/WebApplicationException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs;
-
-public class WebApplicationException extends RuntimeException {
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/AsyncResponse.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/AsyncResponse.java
deleted file mode 100644
index a4a0cc1..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/AsyncResponse.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2017 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import javax.ws.rs.GwtIncompatible;
-
-/**
- * Used for emulating Context in domino-rest, arguments of this type will be ignored in domino-rest
- * client generation
- */
-public interface AsyncResponse {
-
-  @GwtIncompatible long NO_TIMEOUT = 0;
-
-  @GwtIncompatible
-  boolean resume(Object response);
-
-  @GwtIncompatible
-  boolean resume(Throwable response);
-
-  @GwtIncompatible
-  boolean cancel();
-
-  @GwtIncompatible
-  boolean cancel(int retryAfter);
-
-  @GwtIncompatible
-  boolean cancel(Date retryAfter);
-
-  @GwtIncompatible
-  boolean isSuspended();
-
-  @GwtIncompatible
-  boolean isCancelled();
-
-  @GwtIncompatible
-  boolean isDone();
-
-  @GwtIncompatible
-  boolean setTimeout(long time, TimeUnit unit);
-
-  @GwtIncompatible
-  void setTimeoutHandler(TimeoutHandler handler);
-
-  @GwtIncompatible
-  Collection<Class<?>> register(Class<?> callback);
-
-  @GwtIncompatible
-  Map<Class<?>, Collection<Class<?>>> register(Class<?> callback, Class<?>... callbacks);
-
-  @GwtIncompatible
-  Collection<Class<?>> register(Object callback);
-
-  Map<Class<?>, Collection<Class<?>>> register(Object callback, Object... callbacks);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/CompletionCallback.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/CompletionCallback.java
deleted file mode 100644
index 1ea637e..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/CompletionCallback.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-public interface CompletionCallback {
-
-  public void onComplete(Throwable throwable);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ConnectionCallback.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ConnectionCallback.java
deleted file mode 100644
index ab82671..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ConnectionCallback.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-public interface ConnectionCallback {
-  public void onDisconnect(AsyncResponse disconnected);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestContext.java
deleted file mode 100644
index bcf5beb..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestContext.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2017 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.io.InputStream;
-import java.net.URI;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.Cookie;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-
-public interface ContainerRequestContext {
-
-  public Object getProperty(String name);
-
-  public Collection<String> getPropertyNames();
-
-  public void setProperty(String name, Object object);
-
-  public void removeProperty(String name);
-
-  public UriInfo getUriInfo();
-
-  @GwtIncompatible
-  public void setRequestUri(URI requestUri);
-
-  @GwtIncompatible
-  public void setRequestUri(URI baseUri, URI requestUri);
-
-  public Request getRequest();
-  public String getMethod();
-
-  public void setMethod(String method);
-  public MultivaluedMap<String, String> getHeaders();
-
-  public String getHeaderString(String name);
-
-  public Date getDate();
-
-  @GwtIncompatible
-  public Locale getLanguage();
-  public int getLength();
-
-  public MediaType getMediaType();
-  public List<MediaType> getAcceptableMediaTypes();
-
-  @GwtIncompatible
-  public List<Locale> getAcceptableLanguages();
-
-  public Map<String, Cookie> getCookies();
-  public boolean hasEntity();
-
-  @GwtIncompatible
-  public InputStream getEntityStream();
-
-  @GwtIncompatible
-  public void setEntityStream(InputStream input);
-
-  public SecurityContext getSecurityContext();
-
-  public void setSecurityContext(SecurityContext context);
-
-  public void abortWith(Response response);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestFilter.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestFilter.java
deleted file mode 100644
index 692a93c..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerRequestFilter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-public interface ContainerRequestFilter {
-  public void filter(ContainerRequestContext requestContext);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseContext.java
deleted file mode 100644
index a86077e..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseContext.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.io.OutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.NewCookie;
-import javax.ws.rs.core.Response;
-
-public interface ContainerResponseContext {
-
-  public int getStatus();
-
-  public void setStatus(int code);
-
-  public Response.StatusType getStatusInfo();
-  public void setStatusInfo(Response.StatusType statusInfo);
-
-  public MultivaluedMap<String, Object> getHeaders();
-
-  public abstract MultivaluedMap<String, String> getStringHeaders();
-
-  public String getHeaderString(String name);
-  public Set<String> getAllowedMethods();
-  public Date getDate();
-  @GwtIncompatible
-  public Locale getLanguage();
-
-  public int getLength();
-
-  public MediaType getMediaType();
-
-  public Map<String, NewCookie> getCookies();
-
-  public EntityTag getEntityTag();
-
-  public Date getLastModified();
-
-  @GwtIncompatible
-  public URI getLocation();
-  public Set<Link> getLinks();
-
-  boolean hasLink(String relation);
-
-  public Link getLink(String relation);
-
-  public Link.Builder getLinkBuilder(String relation);
-
-  public boolean hasEntity();
-  public Object getEntity();
-
-  public Class<?> getEntityClass();
-  @GwtIncompatible
-  public Type getEntityType();
-
-  public void setEntity(final Object entity);
-
-  @GwtIncompatible
-  public void setEntity(
-      final Object entity, final Annotation[] annotations, final MediaType mediaType);
-
-  @GwtIncompatible
-  public Annotation[] getEntityAnnotations();
-
-  @GwtIncompatible
-  public OutputStream getEntityStream();
-
-  @GwtIncompatible
-  public void setEntityStream(OutputStream outputStream);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java
deleted file mode 100644
index 9f67f8f..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-public interface ContainerResponseFilter {
-
-
-  public void filter(
-      ContainerRequestContext requestContext, ContainerResponseContext responseContext);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java
deleted file mode 100644
index 375128b..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2011-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import javax.ws.rs.core.FeatureContext;
-
-public interface DynamicFeature {
-
-  public void configure(ResourceInfo resourceInfo, FeatureContext context);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java
deleted file mode 100644
index 5965bf5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface PreMatching {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java
deleted file mode 100644
index fdcc2e2..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-public interface ResourceContext {
-
-  public <T> T getResource(Class<T> resourceClass);
-
-  public <T> T initResource(T resource);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java
deleted file mode 100644
index d27fe59..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2011-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.lang.reflect.Method;
-import javax.ws.rs.GwtIncompatible;
-
-public interface ResourceInfo {
-
-  @GwtIncompatible
-  Method getResourceMethod();
-
-  Class<?> getResourceClass();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java
deleted file mode 100644
index 1ce36d4..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.container;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.PARAMETER})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Suspended {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java
deleted file mode 100644
index fd11849..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs.container;
-
-import javax.ws.rs.GwtIncompatible;
-
-@GwtIncompatible
-public interface TimeoutHandler {
-  void handleTimeout(AsyncResponse asyncResponse);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java
deleted file mode 100644
index 4e92ddd..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-/** Container-specific JAX-RS API. */
-package javax.ws.rs.container;
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java
deleted file mode 100644
index 648c1b7..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2012-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.core;
-
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-public abstract class AbstractMultivaluedMap<K, V> implements MultivaluedMap<K, V> {
-
-  protected final Map<K, List<V>> store;
-
-  public AbstractMultivaluedMap(Map<K, List<V>> store) {
-    if (store == null) {
-      throw new NullPointerException("Underlying store must not be 'null'.");
-    }
-    this.store = store;
-  }
-
-
-  @Override
-  public final void putSingle(K key, V value) {
-    List<V> values = getValues(key);
-
-    values.clear();
-    if (value != null) {
-      values.add(value);
-    } else {
-      addNull(values);
-    }
-  }
-
-  @SuppressWarnings("UnusedParameters")
-  protected void addNull(List<V> values) {
-    // do nothing in the default implementation; ignore the null value
-  }
-
-  @SuppressWarnings("UnusedParameters")
-  protected void addFirstNull(List<V> values) {
-    // do nothing in the default implementation; ignore the null value
-  }
-
-  @Override
-  public final void add(K key, V value) {
-    List<V> values = getValues(key);
-
-    if (value != null) {
-      values.add(value);
-    } else {
-      addNull(values);
-    }
-  }
-
-  @Override
-  public final void addAll(K key, V... newValues) {
-    if (newValues == null) {
-      throw new NullPointerException("Supplied array of values must not be null.");
-    }
-    if (newValues.length == 0) {
-      return;
-    }
-
-    List<V> values = getValues(key);
-
-    for (V value : newValues) {
-      if (value != null) {
-        values.add(value);
-      } else {
-        addNull(values);
-      }
-    }
-  }
-
-  @Override
-  public final void addAll(K key, List<V> valueList) {
-    if (valueList == null) {
-      throw new NullPointerException("Supplied list of values must not be null.");
-    }
-    if (valueList.isEmpty()) {
-      return;
-    }
-
-    List<V> values = getValues(key);
-
-    for (V value : valueList) {
-      if (value != null) {
-        values.add(value);
-      } else {
-        addNull(values);
-      }
-    }
-  }
-
-  @Override
-  public final V getFirst(K key) {
-    List<V> values = store.get(key);
-    if (values != null && values.size() > 0) {
-      return values.get(0);
-    } else {
-      return null;
-    }
-  }
-
-  @Override
-  public final void addFirst(K key, V value) {
-    List<V> values = getValues(key);
-
-    if (value != null) {
-      values.add(0, value);
-    } else {
-      addFirstNull(values);
-    }
-  }
-
-  protected final List<V> getValues(K key) {
-    List<V> l = store.get(key);
-    if (l == null) {
-      l = new LinkedList<V>();
-      store.put(key, l);
-    }
-    return l;
-  }
-
-  @Override
-  public String toString() {
-    return store.toString();
-  }
-
-  @Override
-  public int hashCode() {
-    return store.hashCode();
-  }
-
-  @Override
-  @SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
-  public boolean equals(Object o) {
-    return store.equals(o);
-  }
-
-  @Override
-  public Collection<List<V>> values() {
-    return store.values();
-  }
-
-  @Override
-  public int size() {
-    return store.size();
-  }
-
-  @Override
-  public List<V> remove(Object key) {
-    return store.remove(key);
-  }
-
-  @Override
-  public void putAll(Map<? extends K, ? extends List<V>> m) {
-    store.putAll(m);
-  }
-
-  @Override
-  public List<V> put(K key, List<V> value) {
-    return store.put(key, value);
-  }
-
-  @Override
-  public Set<K> keySet() {
-    return store.keySet();
-  }
-
-  @Override
-  public boolean isEmpty() {
-    return store.isEmpty();
-  }
-
-  @Override
-  public List<V> get(Object key) {
-    return store.get(key);
-  }
-
-  @Override
-  public Set<Entry<K, List<V>>> entrySet() {
-    return store.entrySet();
-  }
-
-  @Override
-  public boolean containsValue(Object value) {
-    return store.containsValue(value);
-  }
-
-  @Override
-  public boolean containsKey(Object key) {
-    return store.containsKey(key);
-  }
-
-  @Override
-  public void clear() {
-    store.clear();
-  }
-
-  @Override
-  public boolean equalsIgnoreValueOrder(MultivaluedMap<K, V> omap) {
-    if (this == omap) {
-      return true;
-    }
-    if (!keySet().equals(omap.keySet())) {
-      return false;
-    }
-    for (Entry<K, List<V>> e : entrySet()) {
-      List<V> olist = omap.get(e.getKey());
-      if (e.getValue().size() != olist.size()) {
-        return false;
-      }
-      for (V v : e.getValue()) {
-        if (!olist.contains(v)) {
-          return false;
-        }
-      }
-    }
-    return true;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java
deleted file mode 100644
index 70fa339..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.core;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-public class Application {
-
-  public Set<Class<?>> getClasses() {
-    return Collections.emptySet();
-  }
-
-  public Set<Object> getSingletons() {
-    return Collections.emptySet();
-  }
-
-  public Map<String, Object> getProperties() {
-    return Collections.emptyMap();
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/CacheControl.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/CacheControl.java
deleted file mode 100644
index 62e6845..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/CacheControl.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.ext.RuntimeDelegate;
-import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
-
-@GwtIncompatible
-public class CacheControl {
-
-  private static final HeaderDelegate<CacheControl> HEADER_DELEGATE =
-      RuntimeDelegate.getInstance().createHeaderDelegate(CacheControl.class);
-  private List<String> privateFields;
-  private List<String> noCacheFields;
-  private Map<String, String> cacheExtension;
-
-  private boolean privateFlag;
-  private boolean noCache;
-  private boolean noStore;
-  private boolean noTransform;
-  private boolean mustRevalidate;
-  private boolean proxyRevalidate;
-  private int maxAge = -1;
-  private int sMaxAge = -1;
-
-  public CacheControl() {
-    privateFlag = false;
-    noCache = false;
-    noStore = false;
-    noTransform = true;
-    mustRevalidate = false;
-    proxyRevalidate = false;
-  }
-
-  public static CacheControl valueOf(final String value) {
-    return HEADER_DELEGATE.fromString(value);
-  }
-
-  public boolean isMustRevalidate() {
-    return mustRevalidate;
-  }
-
-  public void setMustRevalidate(final boolean mustRevalidate) {
-    this.mustRevalidate = mustRevalidate;
-  }
-
-  public boolean isProxyRevalidate() {
-    return proxyRevalidate;
-  }
-
-  public void setProxyRevalidate(final boolean proxyRevalidate) {
-    this.proxyRevalidate = proxyRevalidate;
-  }
-  public int getMaxAge() {
-    return maxAge;
-  }
-
-  public void setMaxAge(final int maxAge) {
-    this.maxAge = maxAge;
-  }
-
-  public int getSMaxAge() {
-    return sMaxAge;
-  }
-
-  
-  public void setSMaxAge(final int sMaxAge) {
-    this.sMaxAge = sMaxAge;
-  }
-
-  
-  public List<String> getNoCacheFields() {
-    if (noCacheFields == null) {
-      noCacheFields = new ArrayList<String>();
-    }
-    return noCacheFields;
-  }
-
-  
-  public void setNoCache(final boolean noCache) {
-    this.noCache = noCache;
-  }
-
-  
-  public boolean isNoCache() {
-    return noCache;
-  }
-
-  
-  public boolean isPrivate() {
-    return privateFlag;
-  }
-
-  
-  public List<String> getPrivateFields() {
-    if (privateFields == null) {
-      privateFields = new ArrayList<String>();
-    }
-    return privateFields;
-  }
-
-  
-  public void setPrivate(final boolean flag) {
-    this.privateFlag = flag;
-  }
-
-  
-  public boolean isNoTransform() {
-    return noTransform;
-  }
-
-  
-  public void setNoTransform(final boolean noTransform) {
-    this.noTransform = noTransform;
-  }
-
-  
-  public boolean isNoStore() {
-    return noStore;
-  }
-
-  
-  public void setNoStore(final boolean noStore) {
-    this.noStore = noStore;
-  }
-
-  
-  public Map<String, String> getCacheExtension() {
-    if (cacheExtension == null) {
-      cacheExtension = new HashMap<String, String>();
-    }
-    return cacheExtension;
-  }
-
-  
-  @Override
-  public String toString() {
-    return HEADER_DELEGATE.toString(this);
-  }
-
-  
-  @Override
-  public int hashCode() {
-    int hash = 7;
-    hash = 41 * hash + (this.privateFlag ? 1 : 0);
-    hash = 41 * hash + (this.noCache ? 1 : 0);
-    hash = 41 * hash + (this.noStore ? 1 : 0);
-    hash = 41 * hash + (this.noTransform ? 1 : 0);
-    hash = 41 * hash + (this.mustRevalidate ? 1 : 0);
-    hash = 41 * hash + (this.proxyRevalidate ? 1 : 0);
-    hash = 41 * hash + this.maxAge;
-    hash = 41 * hash + this.sMaxAge;
-    hash = 41 * hash + hashCodeOf(this.privateFields);
-    hash = 41 * hash + hashCodeOf(this.noCacheFields);
-    hash = 41 * hash + hashCodeOf(this.cacheExtension);
-    return hash;
-  }
-
-  
-  @Override
-  public boolean equals(final Object obj) {
-    if (obj == null) {
-      return false;
-    }
-    if (getClass() != obj.getClass()) {
-      return false;
-    }
-    final CacheControl other = (CacheControl) obj;
-    if (this.privateFlag != other.privateFlag) {
-      return false;
-    }
-    if (this.noCache != other.noCache) {
-      return false;
-    }
-    if (this.noStore != other.noStore) {
-      return false;
-    }
-    if (this.noTransform != other.noTransform) {
-      return false;
-    }
-    if (this.mustRevalidate != other.mustRevalidate) {
-      return false;
-    }
-    if (this.proxyRevalidate != other.proxyRevalidate) {
-      return false;
-    }
-    if (this.maxAge != other.maxAge) {
-      return false;
-    }
-    if (this.sMaxAge != other.sMaxAge) {
-      return false;
-    }
-    if (notEqual(this.privateFields, other.privateFields)) {
-      return false;
-    }
-    if (notEqual(this.noCacheFields, other.noCacheFields)) {
-      return false;
-    }
-    if (notEqual(this.cacheExtension, other.cacheExtension)) {
-      return false;
-    }
-    return true;
-  }
-
-  
-  private static boolean notEqual(Collection<?> first, Collection<?> second) {
-    if (first == second) {
-      return false;
-    }
-    if (first == null) {
-      // if first is 'null', consider equal to empty
-      return !second.isEmpty();
-    }
-    if (second == null) {
-      // if second is 'null', consider equal to empty
-      return !first.isEmpty();
-    }
-
-    return !first.equals(second);
-  }
-
-  
-  private static boolean notEqual(Map<?, ?> first, Map<?, ?> second) {
-    if (first == second) {
-      return false;
-    }
-    if (first == null) {
-      // if first is 'null', consider equal to empty
-      return !second.isEmpty();
-    }
-    if (second == null) {
-      // if second is 'null', consider equal to empty
-      return !first.isEmpty();
-    }
-
-    return !first.equals(second);
-  }
-
-  
-  private static int hashCodeOf(Collection<?> instance) {
-    return (instance == null || instance.isEmpty()) ? 0 : instance.hashCode();
-  }
-
-  
-  private static int hashCodeOf(Map<?, ?> instance) {
-    return (instance == null || instance.isEmpty()) ? 0 : instance.hashCode();
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configurable.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configurable.java
deleted file mode 100644
index 221ba6b..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configurable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.Map;
-
-
-public interface Configurable<C extends Configurable> {
-
-  
-  public Configuration getConfiguration();
-
-  
-  public C property(String name, Object value);
-
-  
-  public C register(Class<?> componentClass);
-
-  
-  public C register(Class<?> componentClass, int priority);
-
-  
-  public C register(Class<?> componentClass, Class<?>... contracts);
-
-  
-  public C register(Class<?> componentClass, Map<Class<?>, Integer> contracts);
-
-  
-  public C register(Object component);
-
-  
-  public C register(Object component, int priority);
-
-  
-  public C register(Object component, Class<?>... contracts);
-
-  
-  public C register(Object component, Map<Class<?>, Integer> contracts);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configuration.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configuration.java
deleted file mode 100644
index 46170e2..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Configuration.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs.core;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import javax.ws.rs.RuntimeType;
-
-
-public interface Configuration {
-
-  
-  public RuntimeType getRuntimeType();
-
-  
-  public Map<String, Object> getProperties();
-
-  
-  public Object getProperty(String name);
-
-  
-  public Collection<String> getPropertyNames();
-
-  
-  public boolean isEnabled(Feature feature);
-
-  
-  public boolean isEnabled(Class<? extends Feature> featureClass);
-
-  
-  public boolean isRegistered(Object component);
-
-  
-  public boolean isRegistered(Class<?> componentClass);
-
-  
-  public Map<Class<?>, Integer> getContracts(Class<?> componentClass);
-
-  
-  public Set<Class<?>> getClasses();
-
-  
-  public Set<Object> getInstances();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Context.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Context.java
deleted file mode 100644
index 74dafbd..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Context.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Context {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Cookie.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Cookie.java
deleted file mode 100644
index 83f7ed2..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Cookie.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs.core;
-
-public class Cookie {
-
-  public static final int DEFAULT_VERSION = 1;
-
-  private final String name;
-  private final String value;
-  private final int version;
-  private final String path;
-  private final String domain;
-
-  public Cookie(
-      final String name,
-      final String value,
-      final String path,
-      final String domain,
-      final int version)
-      throws IllegalArgumentException {
-    if (name == null) {
-      throw new IllegalArgumentException("name==null");
-    }
-    this.name = name;
-    this.value = value;
-    this.version = version;
-    this.domain = domain;
-    this.path = path;
-  }
-
-  
-  public Cookie(final String name, final String value, final String path, final String domain)
-      throws IllegalArgumentException {
-    this(name, value, path, domain, DEFAULT_VERSION);
-  }
-
-  public Cookie(final String name, final String value) throws IllegalArgumentException {
-    this(name, value, null, null);
-  }
-
-  public static Cookie valueOf(final String value) {
-    return null;
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public String getValue() {
-    return value;
-  }
-
-  public int getVersion() {
-    return version;
-  }
-
-  public String getDomain() {
-    return domain;
-  }
-
-  public String getPath() {
-    return path;
-  }
-
-  @Override
-  public String toString() {
-    return null;
-  }
-
-  @Override
-  public int hashCode() {
-    int hash = 7;
-    hash = 97 * hash + (this.name != null ? this.name.hashCode() : 0);
-    hash = 97 * hash + (this.value != null ? this.value.hashCode() : 0);
-    hash = 97 * hash + this.version;
-    hash = 97 * hash + (this.path != null ? this.path.hashCode() : 0);
-    hash = 97 * hash + (this.domain != null ? this.domain.hashCode() : 0);
-    return hash;
-  }
-
-  
-  @SuppressWarnings({"StringEquality", "RedundantIfStatement"})
-  @Override
-  public boolean equals(final Object obj) {
-    if (obj == null) {
-      return false;
-    }
-    if (getClass() != obj.getClass()) {
-      return false;
-    }
-    final Cookie other = (Cookie) obj;
-    if (this.name != other.name && (this.name == null || !this.name.equals(other.name))) {
-      return false;
-    }
-    if (this.value != other.value && (this.value == null || !this.value.equals(other.value))) {
-      return false;
-    }
-    if (this.version != other.version) {
-      return false;
-    }
-    if (this.path != other.path && (this.path == null || !this.path.equals(other.path))) {
-      return false;
-    }
-    if (this.domain != other.domain && (this.domain == null || !this.domain.equals(other.domain))) {
-      return false;
-    }
-    return true;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/EntityTag.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/EntityTag.java
deleted file mode 100644
index 9f3e3c4..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/EntityTag.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs.core;
-public class EntityTag {
-
-  private String value;
-  private boolean weak;
-
-  public EntityTag(final String value) {
-    this(value, false);
-  }
-
-  public EntityTag(final String value, final boolean weak) {
-    if (value == null) {
-      throw new IllegalArgumentException("value==null");
-    }
-    this.value = value;
-    this.weak = weak;
-  }
-
-  public static EntityTag valueOf(final String value) {
-    return null;
-  }
-
-  public boolean isWeak() {
-    return weak;
-  }
-
-  public String getValue() {
-    return value;
-  }
-
-  @Override
-  public boolean equals(final Object obj) {
-    if (obj == null) {
-      return false;
-    }
-    if (!(obj instanceof EntityTag)) {
-      return super.equals(obj);
-    }
-    EntityTag other = (EntityTag) obj;
-    if (value.equals(other.getValue()) && weak == other.isWeak()) {
-      return true;
-    }
-    return false;
-  }
-
-  @Override
-  public int hashCode() {
-    int hash = 3;
-    hash = 17 * hash + (this.value != null ? this.value.hashCode() : 0);
-    hash = 17 * hash + (this.weak ? 1 : 0);
-    return hash;
-  }
-
-  @Override
-  public String toString() {
-    return null;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Feature.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Feature.java
deleted file mode 100644
index 171f06c..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Feature.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-
-public interface Feature {
-
-  
-  public boolean configure(FeatureContext context);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/FeatureContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/FeatureContext.java
deleted file mode 100644
index 9c0e176..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/FeatureContext.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-
-public interface FeatureContext extends Configurable<FeatureContext> {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Form.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Form.java
deleted file mode 100644
index a6bcf17..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Form.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-
-
-public class Form {
-  private final MultivaluedMap<String, String> parameters;
-
-  
-  public Form() {
-    this(
-        new AbstractMultivaluedMap<String, String>(new LinkedHashMap<String, List<String>>()) {
-          // by default, the items in a Form are iterable based on their insertion order.
-        });
-  }
-
-  
-  public Form(final String parameterName, final String parameterValue) {
-    this();
-
-    parameters.add(parameterName, parameterValue);
-  }
-
-  
-  public Form(final MultivaluedMap<String, String> store) {
-    this.parameters = store;
-  }
-
-  
-  public Form param(final String name, final String value) {
-    parameters.add(name, value);
-
-    return this;
-  }
-
-  
-  public MultivaluedMap<String, String> asMap() {
-    return parameters;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericEntity.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericEntity.java
deleted file mode 100644
index 3836839..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericEntity.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import javax.ws.rs.GwtIncompatible;
-
-
-@GwtIncompatible
-public class GenericEntity<T> {
-
-  private final Class<?> rawType;
-  private final T entity;
-
-  
-  protected GenericEntity(final T entity) {
-    if (entity == null) {
-      throw new IllegalArgumentException("The entity must not be null");
-    }
-    this.entity = entity;
-    this.rawType = entity.getClass();
-  }
-
-
-  
-  public final Class<?> getRawType() {
-    return rawType;
-  }
-
-  
-  public final T getEntity() {
-    return entity;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    return false;
-  }
-
-  @Override
-  public int hashCode() {
-    return entity.hashCode();
-  }
-
-  @Override
-  public String toString() {
-    return "GenericEntity{" + entity.toString()+ "}";
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericType.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericType.java
deleted file mode 100644
index b848555..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/GenericType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2017 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-package javax.ws.rs.core;
-
-public class GenericType<T> {
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/HttpHeaders.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/HttpHeaders.java
deleted file mode 100644
index e7e6e49..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/HttpHeaders.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import javax.ws.rs.GwtIncompatible;
-
-
-public interface HttpHeaders {
-
-  
-  public List<String> getRequestHeader(String name);
-
-  
-  public String getHeaderString(String name);
-
-  
-  public MultivaluedMap<String, String> getRequestHeaders();
-
-  
-  public List<MediaType> getAcceptableMediaTypes();
-
-  
-  @GwtIncompatible
-  public List<Locale> getAcceptableLanguages();
-
-  
-  public MediaType getMediaType();
-
-  
-  @GwtIncompatible
-  public Locale getLanguage();
-
-  
-  public Map<String, Cookie> getCookies();
-
-  
-  public Date getDate();
-
-  
-  public int getLength();
-
-  
-  public static final String ACCEPT = "Accept";
-  
-  public static final String ACCEPT_CHARSET = "Accept-Charset";
-  
-  public static final String ACCEPT_ENCODING = "Accept-Encoding";
-  
-  public static final String ACCEPT_LANGUAGE = "Accept-Language";
-  
-  public static final String ALLOW = "Allow";
-  
-  public static final String AUTHORIZATION = "Authorization";
-  
-  public static final String CACHE_CONTROL = "Cache-Control";
-  
-  public static final String CONTENT_DISPOSITION = "Content-Disposition";
-  
-  public static final String CONTENT_ENCODING = "Content-Encoding";
-  
-  public static final String CONTENT_ID = "Content-ID";
-  
-  public static final String CONTENT_LANGUAGE = "Content-Language";
-  
-  public static final String CONTENT_LENGTH = "Content-Length";
-  
-  public static final String CONTENT_LOCATION = "Content-Location";
-  
-  public static final String CONTENT_TYPE = "Content-Type";
-  
-  public static final String DATE = "Date";
-  
-  public static final String ETAG = "ETag";
-  
-  public static final String EXPIRES = "Expires";
-  
-  public static final String HOST = "Host";
-  
-  public static final String IF_MATCH = "If-Match";
-  
-  public static final String IF_MODIFIED_SINCE = "If-Modified-Since";
-  
-  public static final String IF_NONE_MATCH = "If-None-Match";
-  
-  public static final String IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
-  
-  public static final String LAST_MODIFIED = "Last-Modified";
-  
-  public static final String LOCATION = "Location";
-  
-  public static final String LINK = "Link";
-  
-  public static final String RETRY_AFTER = "Retry-After";
-  
-  public static final String USER_AGENT = "User-Agent";
-  
-  public static final String VARY = "Vary";
-  
-  public static final String WWW_AUTHENTICATE = "WWW-Authenticate";
-  
-  public static final String COOKIE = "Cookie";
-  
-  public static final String SET_COOKIE = "Set-Cookie";
-  
-  public static final String LAST_EVENT_ID_HEADER = "Last-Event-ID";
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Link.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Link.java
deleted file mode 100644
index 53902ac..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Link.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.ws.rs.core;
-
-import java.util.List;
-import java.util.Map;
-
-
-public abstract class Link {
-
-  public static final String TITLE = "title";
-
-  public static final String REL = "rel";
-
-  public static final String TYPE = "type";
-
-  public abstract UriBuilder getUriBuilder();
-
-  public abstract String getRel();
-
-  public abstract List<String> getRels();
-
-  public abstract String getTitle();
-
-  public abstract String getType();
-
-  public abstract Map<String, String> getParams();
-
-  @Override
-  public abstract String toString();
-
-  public interface Builder {
-  }
-
-  public static class JaxbLink {
-
-  }
-
-  public static class JaxbAdapter {}
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MediaType.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MediaType.java
deleted file mode 100644
index 138c5ae..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MediaType.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Map;
-import java.util.TreeMap;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.ext.RuntimeDelegate;
-
-
-@SuppressWarnings("JavaDoc")
-public class MediaType {
-
-  private String type;
-  private String subtype;
-  private Map<String, String> parameters;
-
-  
-  public static final String CHARSET_PARAMETER = "charset";
-  
-  public static final String MEDIA_TYPE_WILDCARD = "*";
-  // Common media type constants
-  
-  public static final String WILDCARD = "*";
-  public static final MediaType WILDCARD_TYPE = new MediaType();
-  
-  public static final String APPLICATION_XML = "application/xml";
-  
-  public static final MediaType APPLICATION_XML_TYPE = new MediaType("application", "xml");
-  
-  public static final String APPLICATION_ATOM_XML = "application/atom+xml";
-  
-  public static final MediaType APPLICATION_ATOM_XML_TYPE =
-      new MediaType("application", "atom+xml");
-  
-  public static final String APPLICATION_XHTML_XML = "application/xhtml+xml";
-  
-  public static final MediaType APPLICATION_XHTML_XML_TYPE =
-      new MediaType("application", "xhtml+xml");
-  
-  public static final String APPLICATION_SVG_XML = "application/svg+xml";
-  
-  public static final MediaType APPLICATION_SVG_XML_TYPE = new MediaType("application", "svg+xml");
-  
-  public static final String APPLICATION_JSON = "application/json";
-  
-  public static final MediaType APPLICATION_JSON_TYPE = new MediaType("application", "json");
-  
-  public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
-  
-  public static final MediaType APPLICATION_FORM_URLENCODED_TYPE =
-      new MediaType("application", "x-www-form-urlencoded");
-  
-  public static final String MULTIPART_FORM_DATA = "multipart/form-data";
-  
-  public static final MediaType MULTIPART_FORM_DATA_TYPE = new MediaType("multipart", "form-data");
-  
-  public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
-  
-  public static final MediaType APPLICATION_OCTET_STREAM_TYPE =
-      new MediaType("application", "octet-stream");
-  
-  public static final String TEXT_PLAIN = "text/plain";
-  
-  public static final MediaType TEXT_PLAIN_TYPE = new MediaType("text", "plain");
-  
-  public static final String TEXT_XML = "text/xml";
-  
-  public static final MediaType TEXT_XML_TYPE = new MediaType("text", "xml");
-  
-  public static final String TEXT_HTML = "text/html";
-  
-  public static final MediaType TEXT_HTML_TYPE = new MediaType("text", "html");
-  
-  public static final String SERVER_SENT_EVENTS = "text/event-stream";
-  
-  public static final MediaType SERVER_SENT_EVENTS_TYPE = new MediaType("text", "event-stream");
-  
-  public static final String APPLICATION_JSON_PATCH_JSON = "application/json-patch+json";
-  
-  public static final MediaType APPLICATION_JSON_PATCH_JSON_TYPE =
-      new MediaType("application", "json-patch+json");
-
-  
-  @GwtIncompatible
-  public static MediaType valueOf(String type) {
-    return RuntimeDelegate.getInstance().createHeaderDelegate(MediaType.class).fromString(type);
-  }
-
-  private static TreeMap<String, String> createParametersMap(Map<String, String> initialValues) {
-    final TreeMap<String, String> map =
-        new TreeMap<String, String>(
-            new Comparator<String>() {
-
-              @Override
-              public int compare(String o1, String o2) {
-                return o1.compareToIgnoreCase(o2);
-              }
-            });
-    if (initialValues != null) {
-      for (Map.Entry<String, String> e : initialValues.entrySet()) {
-        map.put(e.getKey().toLowerCase(), e.getValue());
-      }
-    }
-    return map;
-  }
-
-  
-  public MediaType(String type, String subtype, Map<String, String> parameters) {
-    this(type, subtype, null, createParametersMap(parameters));
-  }
-
-  
-  public MediaType(String type, String subtype) {
-    this(type, subtype, null, null);
-  }
-
-  
-  public MediaType(String type, String subtype, String charset) {
-    this(type, subtype, charset, null);
-  }
-
-  
-  public MediaType() {
-    this(MEDIA_TYPE_WILDCARD, MEDIA_TYPE_WILDCARD, null, null);
-  }
-
-  private MediaType(String type, String subtype, String charset, Map<String, String> parameterMap) {
-
-    this.type = type == null ? MEDIA_TYPE_WILDCARD : type;
-    this.subtype = subtype == null ? MEDIA_TYPE_WILDCARD : subtype;
-
-    if (parameterMap == null) {
-      parameterMap =
-          new TreeMap<String, String>(
-              new Comparator<String>() {
-
-                @Override
-                public int compare(String o1, String o2) {
-                  return o1.compareToIgnoreCase(o2);
-                }
-              });
-    }
-
-    if (charset != null && !charset.isEmpty()) {
-      parameterMap.put(CHARSET_PARAMETER, charset);
-    }
-    this.parameters = Collections.unmodifiableMap(parameterMap);
-  }
-
-  
-  public String getType() {
-    return this.type;
-  }
-
-  
-  public boolean isWildcardType() {
-    return this.getType().equals(MEDIA_TYPE_WILDCARD);
-  }
-
-  
-  public String getSubtype() {
-    return this.subtype;
-  }
-
-  
-  public boolean isWildcardSubtype() {
-    return this.getSubtype().equals(MEDIA_TYPE_WILDCARD);
-  }
-
-  
-  public Map<String, String> getParameters() {
-    return parameters;
-  }
-
-  
-  public MediaType withCharset(String charset) {
-    return new MediaType(this.type, this.subtype, charset, createParametersMap(this.parameters));
-  }
-
-  
-  public boolean isCompatible(MediaType other) {
-    return other != null
-        && // return false if other is null, else
-        (type.equals(MEDIA_TYPE_WILDCARD)
-            || other.type.equals(MEDIA_TYPE_WILDCARD)
-            || // both are wildcard types, or
-            (type.equalsIgnoreCase(other.type)
-                && (subtype.equals(MEDIA_TYPE_WILDCARD)
-                    || other.subtype.equals(MEDIA_TYPE_WILDCARD)))
-            || // same types, wildcard sub-types, or
-            (type.equalsIgnoreCase(other.type)
-                && this.subtype.equalsIgnoreCase(other.subtype))); // same types & sub-types
-  }
-
-  
-  @SuppressWarnings("UnnecessaryJavaDocLink")
-  @Override
-  public boolean equals(Object obj) {
-    if (!(obj instanceof MediaType)) {
-      return false;
-    }
-
-    MediaType other = (MediaType) obj;
-    return (this.type.equalsIgnoreCase(other.type)
-        && this.subtype.equalsIgnoreCase(other.subtype)
-        && this.parameters.equals(other.parameters));
-  }
-
-  
-  @SuppressWarnings("UnnecessaryJavaDocLink")
-  @Override
-  public int hashCode() {
-    return (this.type.toLowerCase() + this.subtype.toLowerCase()).hashCode()
-        + this.parameters.hashCode();
-  }
-
-  
-  @Override
-  public String toString() {
-    return RuntimeDelegate.getInstance().createHeaderDelegate(MediaType.class).toString(this);
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedHashMap.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedHashMap.java
deleted file mode 100644
index 4d04cf7..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedHashMap.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-public class MultivaluedHashMap<K, V> extends AbstractMultivaluedMap<K, V> implements Serializable {
-
-  private static final long serialVersionUID = -6052320403766368902L;
-
-  
-  public MultivaluedHashMap() {
-    super(new HashMap<K, List<V>>());
-  }
-
-  
-  public MultivaluedHashMap(int initialCapacity) {
-    super(new HashMap<K, List<V>>(initialCapacity));
-  }
-
-  
-  public MultivaluedHashMap(int initialCapacity, float loadFactor) {
-    super(new HashMap<K, List<V>>(initialCapacity, loadFactor));
-  }
-
-  
-  public MultivaluedHashMap(MultivaluedMap<? extends K, ? extends V> map) {
-    this();
-    putAll(map);
-  }
-
-  
-  private <T extends K, U extends V> void putAll(MultivaluedMap<T, U> map) {
-    for (Entry<T, List<U>> e : map.entrySet()) {
-      store.put(e.getKey(), new ArrayList<V>(e.getValue()));
-    }
-  }
-
-  
-  public MultivaluedHashMap(Map<? extends K, ? extends V> map) {
-    this();
-    for (Entry<? extends K, ? extends V> e : map.entrySet()) {
-      this.putSingle(e.getKey(), e.getValue());
-    }
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedMap.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedMap.java
deleted file mode 100644
index 1215ada..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/MultivaluedMap.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.List;
-import java.util.Map;
-
-
-public interface MultivaluedMap<K, V> extends Map<K, List<V>> {
-
-  
-  void putSingle(K key, V value);
-
-  
-  void add(K key, V value);
-
-  
-  V getFirst(K key);
-
-  
-  void addAll(K key, V... newValues);
-
-  
-  void addAll(K key, List<V> valueList);
-
-  
-  void addFirst(K key, V value);
-
-  
-  boolean equalsIgnoreValueOrder(MultivaluedMap<K, V> otherMap);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NewCookie.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NewCookie.java
deleted file mode 100644
index 4f2f21f..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NewCookie.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.Date;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.ext.RuntimeDelegate;
-import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
-
-public class NewCookie extends Cookie {
-
-  
-  public static final int DEFAULT_MAX_AGE = -1;
-
-  private static final HeaderDelegate<NewCookie> delegate =
-      RuntimeDelegate.getInstance().createHeaderDelegate(NewCookie.class);
-
-  private final String comment;
-  private final int maxAge;
-  private final Date expiry;
-  private final boolean secure;
-  private final boolean httpOnly;
-
-  
-  public NewCookie(String name, String value) {
-    this(name, value, null, null, DEFAULT_VERSION, null, DEFAULT_MAX_AGE, null, false, false);
-  }
-
-  
-  public NewCookie(
-      String name,
-      String value,
-      String path,
-      String domain,
-      String comment,
-      int maxAge,
-      boolean secure) {
-    this(name, value, path, domain, DEFAULT_VERSION, comment, maxAge, null, secure, false);
-  }
-
-  
-  public NewCookie(
-      String name,
-      String value,
-      String path,
-      String domain,
-      String comment,
-      int maxAge,
-      boolean secure,
-      boolean httpOnly) {
-    this(name, value, path, domain, DEFAULT_VERSION, comment, maxAge, null, secure, httpOnly);
-  }
-
-  
-  public NewCookie(
-      String name,
-      String value,
-      String path,
-      String domain,
-      int version,
-      String comment,
-      int maxAge,
-      boolean secure) {
-    this(name, value, path, domain, version, comment, maxAge, null, secure, false);
-  }
-
-  
-  public NewCookie(
-      String name,
-      String value,
-      String path,
-      String domain,
-      int version,
-      String comment,
-      int maxAge,
-      Date expiry,
-      boolean secure,
-      boolean httpOnly) {
-    super(name, value, path, domain, version);
-    this.comment = comment;
-    this.maxAge = maxAge;
-    this.expiry = expiry;
-    this.secure = secure;
-    this.httpOnly = httpOnly;
-  }
-
-  
-  public NewCookie(Cookie cookie) {
-    this(cookie, null, DEFAULT_MAX_AGE, null, false, false);
-  }
-
-  
-  public NewCookie(Cookie cookie, String comment, int maxAge, boolean secure) {
-    this(cookie, comment, maxAge, null, secure, false);
-  }
-
-  
-  public NewCookie(
-      Cookie cookie, String comment, int maxAge, Date expiry, boolean secure, boolean httpOnly) {
-    super(
-        cookie == null ? null : cookie.getName(),
-        cookie == null ? null : cookie.getValue(),
-        cookie == null ? null : cookie.getPath(),
-        cookie == null ? null : cookie.getDomain(),
-        cookie == null ? Cookie.DEFAULT_VERSION : cookie.getVersion());
-    this.comment = comment;
-    this.maxAge = maxAge;
-    this.expiry = expiry;
-    this.secure = secure;
-    this.httpOnly = httpOnly;
-  }
-
-  
-  public static NewCookie valueOf(String value) {
-    return delegate.fromString(value);
-  }
-
-  
-  public String getComment() {
-    return comment;
-  }
-
-  
-  public int getMaxAge() {
-    return maxAge;
-  }
-
-  
-  public Date getExpiry() {
-    return expiry;
-  }
-
-  
-  public boolean isSecure() {
-    return secure;
-  }
-
-  
-  public boolean isHttpOnly() {
-    return httpOnly;
-  }
-
-  
-  public Cookie toCookie() {
-    return new Cookie(
-        this.getName(), this.getValue(), this.getPath(), this.getDomain(), this.getVersion());
-  }
-
-  
-  @Override
-  public String toString() {
-    return delegate.toString(this);
-  }
-
-  
-  @Override
-  public int hashCode() {
-    int hash = super.hashCode();
-    hash = 59 * hash + (this.comment != null ? this.comment.hashCode() : 0);
-    hash = 59 * hash + this.maxAge;
-    hash = 59 + hash + (this.expiry != null ? this.expiry.hashCode() : 0);
-    hash = 59 * hash + (this.secure ? 1 : 0);
-    hash = 59 * hash + (this.httpOnly ? 1 : 0);
-    return hash;
-  }
-
-  
-  @SuppressWarnings({"StringEquality", "RedundantIfStatement"})
-  @Override
-  public boolean equals(Object obj) {
-    if (obj == null) {
-      return false;
-    }
-    if (getClass() != obj.getClass()) {
-      return false;
-    }
-    final NewCookie other = (NewCookie) obj;
-    if (this.getName() != other.getName()
-        && (this.getName() == null || !this.getName().equals(other.getName()))) {
-      return false;
-    }
-    if (this.getValue() != other.getValue()
-        && (this.getValue() == null || !this.getValue().equals(other.getValue()))) {
-      return false;
-    }
-    if (this.getVersion() != other.getVersion()) {
-      return false;
-    }
-    if (this.getPath() != other.getPath()
-        && (this.getPath() == null || !this.getPath().equals(other.getPath()))) {
-      return false;
-    }
-    if (this.getDomain() != other.getDomain()
-        && (this.getDomain() == null || !this.getDomain().equals(other.getDomain()))) {
-      return false;
-    }
-    if (this.comment != other.comment
-        && (this.comment == null || !this.comment.equals(other.comment))) {
-      return false;
-    }
-    if (this.maxAge != other.maxAge) {
-      return false;
-    }
-
-    if (this.expiry != other.expiry && (this.expiry == null || !this.expiry.equals(other.expiry))) {
-      return false;
-    }
-
-    if (this.secure != other.secure) {
-      return false;
-    }
-    if (this.httpOnly != other.httpOnly) {
-      return false;
-    }
-    return true;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NoContentException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NoContentException.java
deleted file mode 100644
index 79d96af..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/NoContentException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.io.IOException;
-
-
-public class NoContentException extends IOException {
-  private static final long serialVersionUID = -3082577759787473245L;
-
-  
-  public NoContentException(String message) {
-    super(message);
-  }
-
-  
-  public NoContentException(String message, Throwable cause) {
-    super(message, cause);
-  }
-
-  
-  public NoContentException(Throwable cause) {
-    super(cause);
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/PathSegment.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/PathSegment.java
deleted file mode 100644
index 617e0fc..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/PathSegment.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-public interface PathSegment {
-
-  
-  String getPath();
-
-  
-  MultivaluedMap<String, String> getMatrixParameters();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Request.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Request.java
deleted file mode 100644
index 90a6b64..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Request.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.List;
-
-
-public interface Request {
-
-  
-  public String getMethod();
-
-  
-  public Variant selectVariant(List<Variant> variants);
-
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Response.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Response.java
deleted file mode 100644
index e19f164..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Response.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.lang.annotation.Annotation;
-import java.net.URI;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import javax.ws.rs.GwtIncompatible;
-
-
-public abstract class Response implements AutoCloseable {
-
-  
-  protected Response() {}
-
-  
-  public abstract int getStatus();
-
-  
-  public abstract StatusType getStatusInfo();
-
-  
-  public abstract Object getEntity();
-
-  
-  public abstract <T> T readEntity(Class<T> entityType);
-
-  
-  public abstract <T> T readEntity(GenericType<T> entityType);
-
-  
-  public abstract <T> T readEntity(Class<T> entityType, Annotation[] annotations);
-
-  
-  public abstract <T> T readEntity(GenericType<T> entityType, Annotation[] annotations);
-
-  
-  public abstract boolean hasEntity();
-
-  
-  public abstract boolean bufferEntity();
-
-  
-  @Override
-  public abstract void close();
-
-  
-  public abstract MediaType getMediaType();
-
-  
-  public abstract Locale getLanguage();
-
-  
-  public abstract int getLength();
-
-  
-  public abstract Set<String> getAllowedMethods();
-
-  
-  public abstract Map<String, NewCookie> getCookies();
-
-  
-  public abstract EntityTag getEntityTag();
-
-  
-  public abstract Date getDate();
-
-  
-  public abstract Date getLastModified();
-
-  
-  @GwtIncompatible
-  public abstract URI getLocation();
-
-  
-  public abstract Set<Link> getLinks();
-
-  
-  public abstract boolean hasLink(String relation);
-
-  
-  public abstract Link getLink(String relation);
-
-  
-  public abstract Link.Builder getLinkBuilder(String relation);
-
-  
-  public abstract MultivaluedMap<String, Object> getMetadata();
-
-  
-  public MultivaluedMap<String, Object> getHeaders() {
-    return getMetadata();
-  }
-
-  
-  public abstract MultivaluedMap<String, String> getStringHeaders();
-
-  
-  public abstract String getHeaderString(String name);
-
-  
-  public interface StatusType {
-
-    
-    public int getStatusCode();
-
-    
-    public Status.Family getFamily();
-
-    
-    public String getReasonPhrase();
-
-    
-    public default Status toEnum() {
-      return Status.fromStatusCode(getStatusCode());
-    }
-  }
-
-  
-  public enum Status implements StatusType {
-
-    
-    OK(200, "OK"),
-    
-    CREATED(201, "Created"),
-    
-    ACCEPTED(202, "Accepted"),
-    
-    NO_CONTENT(204, "No Content"),
-    
-    RESET_CONTENT(205, "Reset Content"),
-    
-    PARTIAL_CONTENT(206, "Partial Content"),
-    
-    MOVED_PERMANENTLY(301, "Moved Permanently"),
-    
-    FOUND(302, "Found"),
-    
-    SEE_OTHER(303, "See Other"),
-    
-    NOT_MODIFIED(304, "Not Modified"),
-    
-    USE_PROXY(305, "Use Proxy"),
-    
-    TEMPORARY_REDIRECT(307, "Temporary Redirect"),
-    
-    BAD_REQUEST(400, "Bad Request"),
-    
-    UNAUTHORIZED(401, "Unauthorized"),
-    
-    PAYMENT_REQUIRED(402, "Payment Required"),
-    
-    FORBIDDEN(403, "Forbidden"),
-    
-    NOT_FOUND(404, "Not Found"),
-    
-    METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
-    
-    NOT_ACCEPTABLE(406, "Not Acceptable"),
-    
-    PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"),
-    
-    REQUEST_TIMEOUT(408, "Request Timeout"),
-    
-    CONFLICT(409, "Conflict"),
-    
-    GONE(410, "Gone"),
-    
-    LENGTH_REQUIRED(411, "Length Required"),
-    
-    PRECONDITION_FAILED(412, "Precondition Failed"),
-    
-    REQUEST_ENTITY_TOO_LARGE(413, "Request Entity Too Large"),
-    
-    REQUEST_URI_TOO_LONG(414, "Request-URI Too Long"),
-    
-    UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"),
-    
-    REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"),
-    
-    EXPECTATION_FAILED(417, "Expectation Failed"),
-    
-    PRECONDITION_REQUIRED(428, "Precondition Required"),
-    
-    TOO_MANY_REQUESTS(429, "Too Many Requests"),
-    
-    REQUEST_HEADER_FIELDS_TOO_LARGE(431, "Request Header Fields Too Large"),
-    
-    INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
-    
-    NOT_IMPLEMENTED(501, "Not Implemented"),
-    
-    BAD_GATEWAY(502, "Bad Gateway"),
-    
-    SERVICE_UNAVAILABLE(503, "Service Unavailable"),
-    
-    GATEWAY_TIMEOUT(504, "Gateway Timeout"),
-    
-    HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version Not Supported"),
-    
-    NETWORK_AUTHENTICATION_REQUIRED(511, "Network Authentication Required");
-
-    private final int code;
-    private final String reason;
-    private final Family family;
-
-    
-    public enum Family {
-
-      
-      INFORMATIONAL,
-      
-      SUCCESSFUL,
-      
-      REDIRECTION,
-      
-      CLIENT_ERROR,
-      
-      SERVER_ERROR,
-      
-      OTHER;
-
-      
-      public static Family familyOf(final int statusCode) {
-        switch (statusCode / 100) {
-          case 1:
-            return Family.INFORMATIONAL;
-          case 2:
-            return Family.SUCCESSFUL;
-          case 3:
-            return Family.REDIRECTION;
-          case 4:
-            return Family.CLIENT_ERROR;
-          case 5:
-            return Family.SERVER_ERROR;
-          default:
-            return Family.OTHER;
-        }
-      }
-    }
-
-    Status(final int statusCode, final String reasonPhrase) {
-      this.code = statusCode;
-      this.reason = reasonPhrase;
-      this.family = Family.familyOf(statusCode);
-    }
-
-    
-    @Override
-    public Family getFamily() {
-      return family;
-    }
-
-    
-    @Override
-    public int getStatusCode() {
-      return code;
-    }
-
-    
-    @Override
-    public String getReasonPhrase() {
-      return toString();
-    }
-
-    
-    @Override
-    public String toString() {
-      return reason;
-    }
-
-    
-    public static Status fromStatusCode(final int statusCode) {
-      for (Status s : Status.values()) {
-        if (s.code == statusCode) {
-          return s;
-        }
-      }
-      return null;
-    }
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/SecurityContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/SecurityContext.java
deleted file mode 100644
index 619bad2..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/SecurityContext.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.security.Principal;
-import javax.ws.rs.GwtIncompatible;
-
-
-public interface SecurityContext {
-
-  
-  public static final String BASIC_AUTH = "BASIC";
-  
-  public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";
-  
-  public static final String DIGEST_AUTH = "DIGEST";
-  
-  public static final String FORM_AUTH = "FORM";
-
-  
-  @GwtIncompatible
-  public Principal getUserPrincipal();
-
-  
-  public boolean isUserInRole(String role);
-
-  
-  public boolean isSecure();
-
-  
-  public String getAuthenticationScheme();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/StreamingOutput.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/StreamingOutput.java
deleted file mode 100644
index 4dfe5d6..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/StreamingOutput.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import javax.ws.rs.GwtIncompatible;
-
-
-@GwtIncompatible
-public interface StreamingOutput {
-
-  
-  void write(OutputStream output) throws IOException;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilder.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilder.java
deleted file mode 100644
index 9227f5d..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilder.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package javax.ws.rs.core;
-
-import java.util.Map;
-import javax.ws.rs.GwtIncompatible;
-
-public abstract class UriBuilder {
-
-  protected UriBuilder() {}
-
-  protected static UriBuilder newInstance() {
-    return null;
-  }
-
-  public static UriBuilder fromUri(String uriTemplate) {
-    return newInstance().uri(uriTemplate);
-  }
-
-  public static UriBuilder fromPath(String path) throws IllegalArgumentException {
-    return newInstance().path(path);
-  }
-
-  public static UriBuilder fromResource(Class<?> resource) {
-    return newInstance().path(resource);
-  }
-
-  public static UriBuilder fromMethod(Class<?> resource, String method) {
-    return newInstance().path(resource, method);
-  }
-
-  public UriBuilder clone(){
-    return null;
-  }
-
-  public abstract UriBuilder uri(String uriTemplate);
-
-  public abstract UriBuilder scheme(String scheme);
-
-  public abstract UriBuilder schemeSpecificPart(String ssp);
-
-  public abstract UriBuilder userInfo(String ui);
-
-  public abstract UriBuilder host(String host);
-
-  public abstract UriBuilder port(int port);
-
-  public abstract UriBuilder replacePath(String path);
-
-  public abstract UriBuilder path(String path);
-
-  public abstract UriBuilder path(Class resource);
-
-  public abstract UriBuilder path(Class resource, String method);
-
-  public abstract UriBuilder segment(String... segments);
-
-  public abstract UriBuilder replaceMatrix(String matrix);
-
-  public abstract UriBuilder matrixParam(String name, Object... values);
-
-  public abstract UriBuilder replaceMatrixParam(String name, Object... values);
-
-  public abstract UriBuilder replaceQuery(String query);
-
-  public abstract UriBuilder queryParam(String name, Object... values);
-
-  public abstract UriBuilder replaceQueryParam(String name, Object... values);
-
-  public abstract UriBuilder fragment(String fragment);
-
-  public abstract UriBuilder resolveTemplate(String name, Object value);
-
-  public abstract UriBuilder resolveTemplate(String name, Object value, boolean encodeSlashInPath);
-
-  public abstract UriBuilder resolveTemplateFromEncoded(String name, Object value);
-
-  public abstract UriBuilder resolveTemplates(Map<String, Object> templateValues);
-
-  public abstract UriBuilder resolveTemplates(
-      Map<String, Object> templateValues, boolean encodeSlashInPath)
-      throws IllegalArgumentException;
-
-  public abstract UriBuilder resolveTemplatesFromEncoded(Map<String, Object> templateValues);
-
-  public abstract String toTemplate();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilderException.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilderException.java
deleted file mode 100644
index fe0ff10..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriBuilderException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-public class UriBuilderException extends RuntimeException {
-
-  private static final long serialVersionUID = 956255913370721193L;
-
-  
-  public UriBuilderException() {}
-
-  
-  public UriBuilderException(String msg) {
-    super(msg);
-  }
-
-  
-  public UriBuilderException(String msg, Throwable cause) {
-    super(msg, cause);
-  }
-
-  
-  public UriBuilderException(Throwable cause) {
-    super(cause);
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriInfo.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriInfo.java
deleted file mode 100644
index ceacb27..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/UriInfo.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.core;
-
-import java.util.List;
-import javax.ws.rs.GwtIncompatible;
-
-
-public interface UriInfo {
-
-  
-  public String getPath();
-
-  
-  public String getPath(boolean decode);
-
-  
-  public List<PathSegment> getPathSegments();
-
-  
-  public List<PathSegment> getPathSegments(boolean decode);
-
-
-  
-  public UriBuilder getRequestUriBuilder();
-
-
-  
-  public UriBuilder getAbsolutePathBuilder();
-
-
-  
-  public UriBuilder getBaseUriBuilder();
-
-  
-  public MultivaluedMap<String, String> getPathParameters();
-
-  
-  public MultivaluedMap<String, String> getPathParameters(boolean decode);
-
-  
-  public MultivaluedMap<String, String> getQueryParameters();
-
-  
-  public MultivaluedMap<String, String> getQueryParameters(boolean decode);
-
-  
-  public List<String> getMatchedURIs();
-
-  
-  public List<String> getMatchedURIs(boolean decode);
-
-  
-  public List<Object> getMatchedResources();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Variant.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Variant.java
deleted file mode 100644
index eb48cef..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Variant.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.ws.rs.core;
-
-public class Variant {
-
-  public abstract static class VariantListBuilder {
-
-    protected VariantListBuilder() {}
-
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/package-info.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/package-info.java
deleted file mode 100644
index 7529831..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/package-info.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-/** Low-level interfaces and annotations used to create RESTful service resources. */
-package javax.ws.rs.core;
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ContextResolver.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ContextResolver.java
deleted file mode 100644
index 4954203..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ContextResolver.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-public interface ContextResolver<T> {
-
-  
-  T getContext(Class<?> type);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ExceptionMapper.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ExceptionMapper.java
deleted file mode 100644
index 66a4164..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ExceptionMapper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import javax.ws.rs.core.Response;
-
-
-public interface ExceptionMapper<E extends Throwable> {
-
-  
-  Response toResponse(E exception);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/FactoryFinder.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/FactoryFinder.java
deleted file mode 100644
index aae8829..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/FactoryFinder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.util.logging.Logger;
-import javax.ws.rs.GwtIncompatible;
-
-
-@GwtIncompatible
-final class FactoryFinder {
-
-  private static final Logger LOGGER = Logger.getLogger(FactoryFinder.class.getName());
-
-  private FactoryFinder() {
-    // prevents instantiation
-  }
-
-  
-  static <T> Object find(final String factoryId, final String fallbackClassName, Class<T> service)
-      throws ClassNotFoundException {
-    return null;
-  }
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/InterceptorContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/InterceptorContext.java
deleted file mode 100644
index 7601f95..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/InterceptorContext.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Collection;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MediaType;
-
-
-public interface InterceptorContext {
-
-  
-  public Object getProperty(String name);
-
-  
-  public Collection<String> getPropertyNames();
-
-  
-  public void setProperty(String name, Object object);
-
-  
-  public void removeProperty(String name);
-
-  @GwtIncompatible
-  public Annotation[] getAnnotations();
-
-  @GwtIncompatible
-  public void setAnnotations(Annotation[] annotations);
-
-  
-  Class<?> getType();
-
-  
-  public void setType(Class<?> type);
-
-  @GwtIncompatible
-  Type getGenericType();
-
-  @GwtIncompatible
-  public void setGenericType(Type genericType);
-
-  
-  public MediaType getMediaType();
-
-  
-  public void setMediaType(MediaType mediaType);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyReader.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyReader.java
deleted file mode 100644
index 222e64a..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyReader.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-
-
-@GwtIncompatible
-public interface MessageBodyReader<T> {
-
-
-  @GwtIncompatible
-  public boolean isReadable(
-      Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType);
-
-
-  @GwtIncompatible
-  public T readFrom(
-      Class<T> type,
-      Type genericType,
-      Annotation[] annotations,
-      MediaType mediaType,
-      MultivaluedMap<String, String> httpHeaders,
-      InputStream entityStream)
-      throws java.io.IOException;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyWriter.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyWriter.java
deleted file mode 100644
index 6d27f67..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/MessageBodyWriter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.io.OutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-
-
-@GwtIncompatible
-public interface MessageBodyWriter<T> {
-
-  
-  public boolean isWriteable(
-      Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType);
-
-  
-  public default long getSize(
-      T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
-    return -1L;
-  }
-
-  
-  public void writeTo(
-      T t,
-      Class<?> type,
-      Type genericType,
-      Annotation[] annotations,
-      MediaType mediaType,
-      MultivaluedMap<String, Object> httpHeaders,
-      OutputStream entityStream)
-      throws java.io.IOException;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverter.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverter.java
deleted file mode 100644
index af41aad..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-public interface ParamConverter<T> {
-
-  
-  @Target({ElementType.TYPE})
-  @Retention(RetentionPolicy.RUNTIME)
-  @Documented
-  public static @interface Lazy {}
-
-  
-  public T fromString(String value);
-
-  
-  public String toString(T value);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverterProvider.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverterProvider.java
deleted file mode 100644
index e9dcc2a..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ParamConverterProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
-
-public interface ParamConverterProvider {
-
-  
-  public <T> ParamConverter<T> getConverter(
-      Class<T> rawType, Type genericType, Annotation annotations[]);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Provider.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Provider.java
deleted file mode 100644
index 8f5caa3..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Provider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Provider {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Providers.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Providers.java
deleted file mode 100644
index 44c3b78..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/Providers.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MediaType;
-
-
-@GwtIncompatible
-public interface Providers {
-
-  
-  <T> MessageBodyReader<T> getMessageBodyReader(
-      Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType);
-
-  
-  <T> MessageBodyWriter<T> getMessageBodyWriter(
-      Class<T> type, Type genericType, Annotation[] annotations, MediaType mediaType);
-
-  
-  <T extends Throwable> ExceptionMapper<T> getExceptionMapper(Class<T> type);
-
-  
-  <T> ContextResolver<T> getContextResolver(Class<T> contextType, MediaType mediaType);
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptor.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptor.java
deleted file mode 100644
index 38d2188..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import javax.ws.rs.GwtIncompatible;
-
-
-@GwtIncompatible
-public interface ReaderInterceptor {
-
-  
-  public Object aroundReadFrom(ReaderInterceptorContext context)
-      throws java.io.IOException;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptorContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptorContext.java
deleted file mode 100644
index b6059b0..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/ReaderInterceptorContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.io.IOException;
-import java.io.InputStream;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MultivaluedMap;
-
-
-@GwtIncompatible
-public interface ReaderInterceptorContext extends InterceptorContext {
-
-  
-  public Object proceed() throws IOException;
-
-  
-  public InputStream getInputStream();
-
-  
-  public void setInputStream(InputStream is);
-
-  
-  public MultivaluedMap<String, String> getHeaders();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/RuntimeDelegate.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/RuntimeDelegate.java
deleted file mode 100644
index e07718a..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/RuntimeDelegate.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Link;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.Variant.VariantListBuilder;
-
-public abstract class RuntimeDelegate {
-
-  private static volatile RuntimeDelegate cachedDelegate;
-
-  
-  protected RuntimeDelegate() {}
-
-  
-  public static RuntimeDelegate getInstance() {
-    return new RuntimeDelegate() {
-      @Override
-      public UriBuilder createUriBuilder() {
-        return null;
-      }
-
-      @Override
-      public VariantListBuilder createVariantListBuilder() {
-        return null;
-      }
-
-      @Override
-      public <T> T createEndpoint(Application application, Class<T> endpointType)
-          throws IllegalArgumentException, UnsupportedOperationException {
-        return null;
-      }
-
-      @Override
-      public <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type)
-          throws IllegalArgumentException {
-        return new HeaderDelegate<T>() {
-          @Override
-          public T fromString(String value) {
-            return null;
-          }
-
-          @Override
-          public String toString(T value) {
-            return String.valueOf(value);
-          }
-        };
-      }
-
-      @Override
-      public Link.Builder createLinkBuilder() {
-        return null;
-      }
-    };
-  }
-
-  
-  public static void setInstance(final RuntimeDelegate rd) {
-    RuntimeDelegate.cachedDelegate = rd;
-  }
-
-  
-  public abstract UriBuilder createUriBuilder();
-
-  
-  public abstract VariantListBuilder createVariantListBuilder();
-
-  
-  public abstract <T> T createEndpoint(Application application, Class<T> endpointType)
-      throws IllegalArgumentException, UnsupportedOperationException;
-
-  
-  public abstract <T> HeaderDelegate<T> createHeaderDelegate(Class<T> type)
-      throws IllegalArgumentException;
-
-  
-  public static interface HeaderDelegate<T> {
-
-    
-    public T fromString(String value);
-
-    
-    public String toString(T value);
-  }
-
-  
-  public abstract Link.Builder createLinkBuilder();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptor.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptor.java
deleted file mode 100644
index cf611a5..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import javax.ws.rs.GwtIncompatible;
-
-
-@GwtIncompatible
-public interface WriterInterceptor {
-
-  
-  void aroundWriteTo(WriterInterceptorContext context)
-      throws java.io.IOException;
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptorContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptorContext.java
deleted file mode 100644
index f71c765..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/WriterInterceptorContext.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright © 2019 Dominokit
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package javax.ws.rs.ext;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import javax.ws.rs.GwtIncompatible;
-import javax.ws.rs.core.MultivaluedMap;
-
-
-@GwtIncompatible
-public interface WriterInterceptorContext extends InterceptorContext {
-
-  
-  void proceed() throws IOException;
-
-  
-  Object getEntity();
-
-  
-  void setEntity(Object entity);
-
-  
-  OutputStream getOutputStream();
-
-  
-  public void setOutputStream(OutputStream os);
-
-  
-  MultivaluedMap<String, Object> getHeaders();
-}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/package-info.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/package-info.java
deleted file mode 100644
index bd5e45d..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/ext/package-info.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-/** APIs that provide extensions to the types supported by the JAX-RS API. */
-package javax.ws.rs.ext;
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/package-info.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/package-info.java
deleted file mode 100644
index 0402ede..0000000
--- a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/package-info.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
- *
- * The contents of this file are subject to the terms of either the GNU
- * General Public License Version 2 only ("GPL") or the Common Development
- * and Distribution License("CDDL") (collectively, the "License").  You
- * may not use this file except in compliance with the License.  You can
- * obtain a copy of the License at
- * http://glassfish.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
- * language governing permissions and limitations under the License.
- *
- * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
- *
- * GPL Classpath Exception:
- * Oracle designates this particular file as subject to the "Classpath"
- * exception as provided by Oracle in the GPL Version 2 section of the License
- * file that accompanied this code.
- *
- * Modifications:
- * If applicable, add the following below the License Header, with the fields
- * enclosed by brackets [] replaced by your own identifying information:
- * "Portions Copyright [year] [name of copyright owner]"
- *
- * Contributor(s):
- * If you wish your version of this file to be governed by only the CDDL or
- * only the GPL Version 2, indicate your decision by adding "[Contributor]
- * elects to include this software in this distribution under the [CDDL or GPL
- * Version 2] license."  If you don't indicate a single choice of license, a
- * recipient has the option to distribute your version of this file under
- * either the CDDL, the GPL Version 2 or to extend the choice of license to
- * its licensees as provided above.  However, if you add GPL Version 2 code
- * and therefore, elected the GPL Version 2 license, then the option applies
- * only if the new code is made subject to such option by the copyright
- * holder.
- */
-
-/**
- * High-level interfaces and annotations used to create RESTful service resources. For example:
- *
- * <pre>
- * &#064;Path("widgets/{widgetid}")
- * &#064;Consumes("application/widgets+xml")
- * &#064;Produces("application/widgets+xml")
- * public class WidgetResource {
- *
- *     &#064;GET
- *     public String getWidget(&#064;PathParam("widgetid") String id) {
- *         return getWidgetAsXml(id);
- *     }
- *
- *     &#064;PUT
- *     public void updateWidget(&#064;PathParam("widgetid") String id,
- *                              Source update) {
- *         updateWidgetFromXml(id, update);
- *     }
- *
- *     ...
- * }
- * </pre>
- */
-package javax.ws.rs;
diff --git a/domino-rest-jvm/pom.xml b/domino-rest-jvm/pom.xml
index 60ee8c6..e65e0c5 100644
--- a/domino-rest-jvm/pom.xml
+++ b/domino-rest-jvm/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>domino-rest</artifactId>
         <groupId>org.dominokit</groupId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -32,10 +32,9 @@
             <version>4.13.1</version>
             <scope>test</scope>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
             <version>${jax.rs.version}</version>
         </dependency>
     </dependencies>
diff --git a/domino-rest-processor/pom.xml b/domino-rest-processor/pom.xml
index 6887a90..47d1871 100644
--- a/domino-rest-processor/pom.xml
+++ b/domino-rest-processor/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>domino-rest</artifactId>
         <groupId>org.dominokit</groupId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -23,10 +23,9 @@
             <artifactId>domino-jackson-processor</artifactId>
             <version>${domino.jackson.version}</version>
         </dependency>
-        <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
             <version>${jax.rs.version}</version>
         </dependency>
         <dependency>
@@ -71,8 +70,28 @@
                                     <exclude>com.google.code.findbugs:jsr305</exclude>
                                     <exclude>com.google.j2objc:j2objc-annotations</exclude>
                                     <exclude>com.google.errorprone:error_prone_annotations</exclude>
+                                    <exclude>com.fasterxml.jackson.core:*</exclude>
+                                    <exclude>jakarta.ws.rs:*</exclude>
                                 </excludes>
                             </artifactSet>
+                            <relocations>
+                                <relocation>
+                                    <pattern>org.apache</pattern>
+                                    <shadedPattern>dominorest.shaded.com.apache</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.checkerframework</pattern>
+                                    <shadedPattern>dominorest.shaded.com.checkerframework</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>com.google</pattern>
+                                    <shadedPattern>dominorest.shaded.com.google</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>com.squareup</pattern>
+                                    <shadedPattern>dominorest.shaded.com.squareup</shadedPattern>
+                                </relocation>
+                            </relocations>
                             <transformers>
                                 <transformer
                                         implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
diff --git a/domino-rest-processor/src/main/java/org/dominokit/rest/processor/RequestFactorySourceWriter.java b/domino-rest-processor/src/main/java/org/dominokit/rest/processor/RequestFactorySourceWriter.java
index 3d21660..b1c86c7 100644
--- a/domino-rest-processor/src/main/java/org/dominokit/rest/processor/RequestFactorySourceWriter.java
+++ b/domino-rest-processor/src/main/java/org/dominokit/rest/processor/RequestFactorySourceWriter.java
@@ -23,6 +23,10 @@
 import dominojackson.shaded.com.squareup.javapoet.*;
 import dominojackson.shaded.org.dominokit.domino.apt.commons.AbstractSourceBuilder;
 import dominojackson.shaded.org.dominokit.domino.apt.commons.DominoTypeBuilder;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
 import java.lang.annotation.Annotation;
 import java.math.BigDecimal;
 import java.util.*;
@@ -32,10 +36,6 @@
 import javax.lang.model.type.PrimitiveType;
 import javax.lang.model.type.TypeKind;
 import javax.lang.model.type.TypeMirror;
-import javax.ws.rs.*;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
 import org.dominokit.jackson.AbstractObjectReader;
 import org.dominokit.jackson.AbstractObjectWriter;
 import org.dominokit.jackson.JsonDeserializer;
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ChildService.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ChildService.java
index 403a266..5b4a357 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ChildService.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ChildService.java
@@ -15,7 +15,7 @@
  */
 package org.dominokit.rest.processor;
 
-import javax.ws.rs.PathParam;
+import jakarta.ws.rs.PathParam;
 
 public interface ChildService {
   String getById(@PathParam("id") int id);
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NestedRequestBean.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NestedRequestBean.java
index 30f3966..3c5e08d 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NestedRequestBean.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NestedRequestBean.java
@@ -15,9 +15,9 @@
  */
 package org.dominokit.rest.processor;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 
 public class NestedRequestBean {
 
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NoFactoryAnnotationSampleService.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NoFactoryAnnotationSampleService.java
index b088d93..78cad27 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NoFactoryAnnotationSampleService.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/NoFactoryAnnotationSampleService.java
@@ -15,10 +15,10 @@
  */
 package org.dominokit.rest.processor;
 
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
 import java.util.HashMap;
 import java.util.List;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
 import org.dominokit.rest.shared.request.service.annotations.Classifier;
 import org.dominokit.rest.shared.request.service.annotations.RequestBody;
 import org.dominokit.rest.shared.request.service.annotations.Retries;
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ParentService.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ParentService.java
index eb62799..4cc605d 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ParentService.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/ParentService.java
@@ -15,9 +15,9 @@
  */
 package org.dominokit.rest.processor;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
 @RequestFactory
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/PickBodyService.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/PickBodyService.java
index ce01288..6de015f 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/PickBodyService.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/PickBodyService.java
@@ -15,12 +15,12 @@
  */
 package org.dominokit.rest.processor;
 
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.container.Suspended;
+import jakarta.ws.rs.core.Context;
 import org.dominokit.rest.shared.request.service.annotations.RequestBody;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleRequest.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleRequest.java
index b41ed79..83e5d42 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleRequest.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleRequest.java
@@ -15,10 +15,10 @@
  */
 package org.dominokit.rest.processor;
 
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 import java.util.Date;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
 import org.dominokit.jackson.annotation.JSONMapper;
 import org.dominokit.rest.shared.request.service.annotations.DateFormat;
 import org.dominokit.rest.shared.request.service.annotations.RequestBody;
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleService.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleService.java
index 03d0000..d01437b 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleService.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/SampleService.java
@@ -15,11 +15,11 @@
  */
 package org.dominokit.rest.processor;
 
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
 import org.dominokit.rest.shared.request.service.annotations.*;
 
 @RequestFactory
diff --git a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/TestOnCompleteHandlers.java b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/TestOnCompleteHandlers.java
index 22d0459..8553555 100644
--- a/domino-rest-processor/src/test/java/org/dominokit/rest/processor/TestOnCompleteHandlers.java
+++ b/domino-rest-processor/src/test/java/org/dominokit/rest/processor/TestOnCompleteHandlers.java
@@ -15,8 +15,8 @@
  */
 package org.dominokit.rest.processor;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
 public class TestOnCompleteHandlers {
diff --git a/domino-rest-shared/pom.xml b/domino-rest-shared/pom.xml
index 4da1b40..64681eb 100644
--- a/domino-rest-shared/pom.xml
+++ b/domino-rest-shared/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>domino-rest</artifactId>
         <groupId>org.dominokit</groupId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -24,8 +24,8 @@
         </dependency>
         <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
         <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
+            <groupId>jakarta.ws.rs</groupId>
+            <artifactId>jakarta.ws.rs-api</artifactId>
             <version>${jax.rs.version}</version>
         </dependency>
 
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/ServerRequest.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/ServerRequest.java
index 6cd207a..4488f91 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/ServerRequest.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/ServerRequest.java
@@ -17,11 +17,11 @@
 
 import static java.util.Objects.*;
 
+import jakarta.ws.rs.HttpMethod;
 import java.util.*;
 import java.util.function.Consumer;
 import java.util.function.Supplier;
 import java.util.logging.Logger;
-import javax.ws.rs.HttpMethod;
 import org.dominokit.rest.shared.RestfulRequest;
 
 /**
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Classifier.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Classifier.java
index 6ecb0f7..c722359 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Classifier.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Classifier.java
@@ -45,8 +45,8 @@
  * </pre>
  *
  * @see RequestFactory
- * @see javax.ws.rs.GET
- * @see javax.ws.rs.Path
+ * @see jakarta.ws.rs.GET
+ * @see jakarta.ws.rs.Path
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.METHOD)
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Multipart.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Multipart.java
index e113aba..0d48b50 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Multipart.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Multipart.java
@@ -21,8 +21,8 @@
 import java.lang.annotation.Target;
 
 /**
- * This annotation to mark a class which contains a list of {@link javax.ws.rs.FormParam} to be read
- * in a multipart request
+ * This annotation to mark a class which contains a list of {@link jakarta.ws.rs.FormParam} to be
+ * read in a multipart request
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target({ElementType.PARAMETER, ElementType.TYPE})
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Reader.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Reader.java
index ed162d5..84d4bfa 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Reader.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Reader.java
@@ -51,9 +51,9 @@
  * </pre>
  *
  * @see ResponseReader
- * @see javax.ws.rs.Produces
- * @see javax.ws.rs.GET
- * @see javax.ws.rs.Path
+ * @see jakarta.ws.rs.Produces
+ * @see jakarta.ws.rs.GET
+ * @see jakarta.ws.rs.Path
  * @see RequestFactory
  */
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/RequestFactory.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/RequestFactory.java
index 50394d2..7e66297 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/RequestFactory.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/RequestFactory.java
@@ -27,8 +27,8 @@
  * <p>This annotation will be used to generate an implementation for accessing defined endpoints
  * according to the methods defined in this type. Each method is an endpoint with a specification
  * such as Http Method, URL, Request body if applicable and many more. The definition of an endpoint
- * is done using jax-rs annotations such as {@link javax.ws.rs.GET}, {@link javax.ws.rs.Path} ...
- * etc.
+ * is done using jax-rs annotations such as {@link jakarta.ws.rs.GET}, {@link jakarta.ws.rs.Path}
+ * ... etc.
  *
  * <p>Domino rest loads the default service root from {@link RestConfig#getDefaultServiceRoot()}.
  * However, you can specifically define a base url for a specific client using {@link
@@ -40,20 +40,20 @@
  * &#64;RequestFactory(serviceRoot = "http://otherhost:9090")
  * public interface MoviesService {
  *
- *     &#64;javax.ws.rs.Path("library/movies/:movieName")
- *     &#64;javax.ws.rs.GET
- *     Movie getMovieByName(&#64;javax.ws.rs.PathParam("movieName") String movieName);
+ *     &#64;jakarta.ws.rs.Path("library/movies/:movieName")
+ *     &#64;jakarta.ws.rs.GET
+ *     Movie getMovieByName(&#64;jakarta.ws.rs.PathParam("movieName") String movieName);
  *
- *     &#64;javax.ws.rs.Path("library/movies")
- *     &#64;javax.ws.rs.GET
+ *     &#64;jakarta.ws.rs.Path("library/movies")
+ *     &#64;jakarta.ws.rs.GET
  *     List&#60;Movie&#62; listMovies();
  * }
  * </pre>
  *
  * @see RestConfig
- * @see javax.ws.rs.Path
- * @see javax.ws.rs.GET
- * @see javax.ws.rs.PathParam
+ * @see jakarta.ws.rs.Path
+ * @see jakarta.ws.rs.GET
+ * @see jakarta.ws.rs.PathParam
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
diff --git a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Writer.java b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Writer.java
index abb1237..3685b9f 100644
--- a/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Writer.java
+++ b/domino-rest-shared/src/main/java/org/dominokit/rest/shared/request/service/annotations/Writer.java
@@ -50,9 +50,9 @@
  * </pre>
  *
  * @see RequestWriter
- * @see javax.ws.rs.Consumes
- * @see javax.ws.rs.PUT
- * @see javax.ws.rs.Path
+ * @see jakarta.ws.rs.Consumes
+ * @see jakarta.ws.rs.PUT
+ * @see jakarta.ws.rs.Path
  * @see RequestFactory
  */
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/domino-rest-test/pom.xml b/domino-rest-test/pom.xml
index b9a3a8a..c08cdf0 100644
--- a/domino-rest-test/pom.xml
+++ b/domino-rest-test/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>domino-rest</artifactId>
         <groupId>org.dominokit</groupId>
-        <version>1.0.2</version>
+        <version>2.0.0-RC1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/ChildProduceConsumesTestService.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/ChildProduceConsumesTestService.java
index 33ed135..7368e41 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/ChildProduceConsumesTestService.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/ChildProduceConsumesTestService.java
@@ -15,8 +15,8 @@
  */
 package org.dominokit.rest.model;
 
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
 @RequestFactory
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/MultipartTestService.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/MultipartTestService.java
index 42097dd..7e2349e 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/MultipartTestService.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/MultipartTestService.java
@@ -15,11 +15,11 @@
  */
 package org.dominokit.rest.model;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.MediaType;
 import org.dominokit.rest.shared.request.service.annotations.Multipart;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/NullQueryParamTestService.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/NullQueryParamTestService.java
index 8b70365..529e0ed 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/NullQueryParamTestService.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/NullQueryParamTestService.java
@@ -15,9 +15,9 @@
  */
 package org.dominokit.rest.model;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.QueryParam;
 import org.dominokit.rest.shared.request.NullQueryParamStrategy;
 import org.dominokit.rest.shared.request.service.annotations.NullQueryStrategy;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/ProduceConsumesTestService.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/ProduceConsumesTestService.java
index 073f1a1..fe59fbe 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/ProduceConsumesTestService.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/ProduceConsumesTestService.java
@@ -15,8 +15,8 @@
  */
 package org.dominokit.rest.model;
 
-import javax.ws.rs.*;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
 @RequestFactory
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/QueryParameterTestService.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/QueryParameterTestService.java
index 4571ecc..f549324 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/QueryParameterTestService.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/QueryParameterTestService.java
@@ -15,13 +15,13 @@
  */
 package org.dominokit.rest.model;
 
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.QueryParam;
 import java.util.Date;
 import java.util.List;
 import java.util.Set;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
 import org.dominokit.rest.shared.request.service.annotations.DateFormat;
 import org.dominokit.rest.shared.request.service.annotations.RequestFactory;
 
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/model/SampleMultipartRequest.java b/domino-rest-test/src/test/java/org/dominokit/rest/model/SampleMultipartRequest.java
index 65c398b..dd3f08d 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/model/SampleMultipartRequest.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/model/SampleMultipartRequest.java
@@ -15,7 +15,7 @@
  */
 package org.dominokit.rest.model;
 
-import javax.ws.rs.FormParam;
+import jakarta.ws.rs.FormParam;
 
 public class SampleMultipartRequest {
 
diff --git a/domino-rest-test/src/test/java/org/dominokit/rest/test/ProducesConsumesTest.java b/domino-rest-test/src/test/java/org/dominokit/rest/test/ProducesConsumesTest.java
index f7b8c35..e65ec83 100644
--- a/domino-rest-test/src/test/java/org/dominokit/rest/test/ProducesConsumesTest.java
+++ b/domino-rest-test/src/test/java/org/dominokit/rest/test/ProducesConsumesTest.java
@@ -21,7 +21,7 @@
 import io.vertx.core.json.Json;
 import io.vertx.junit5.VertxExtension;
 import io.vertx.junit5.VertxTestContext;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
 import org.dominokit.rest.model.ChildProduceConsumesTestServiceFactory;
 import org.dominokit.rest.model.ChildProduceConsumesTestService_NestedFactory;
 import org.dominokit.rest.model.ProduceConsumesTestServiceFactory;
diff --git a/pom.xml b/pom.xml
index 671b342..aeb0ec4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 
     <groupId>org.dominokit</groupId>
     <artifactId>domino-rest</artifactId>
-    <version>1.0.2</version>
+    <version>2.0.0-RC1</version>
     <packaging>pom</packaging>
 
     <name>domino-rest</name>
@@ -70,7 +70,7 @@
 
     <properties>
         <snapshot.version>HEAD-SNAPSHOT</snapshot.version>
-        <next.release.version>1.0.2</next.release.version>
+        <next.release.version>2.0.0-RC1</next.release.version>
         <maven.compiler.source>11</maven.compiler.source>
         <maven.compiler.target>11</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -91,9 +91,9 @@
         <gwt.version>2.10.0</gwt.version>
         <domino.logger.version>1.0.3</domino.logger.version>
         <domino.jackson.version>1.0.4</domino.jackson.version>
-        <domino.history.version>1.0.2</domino.history.version>
+        <domino.history.version>1.0.3</domino.history.version>
         <domino.aggregator.version>1.0.2</domino.aggregator.version>
-        <jax.rs.version>2.1.1</jax.rs.version>
+        <jax.rs.version>3.1.0</jax.rs.version>
         <jackson.databind.version>2.16.0</jackson.databind.version>
         <elemental2.version>1.2.1</elemental2.version>
     </properties>