Merge branch 'release/2.19'
diff --git a/pom.xml b/pom.xml
index 7fa95d4..d1089db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
 
   <groupId>edu.psu.swe.scim</groupId>
   <artifactId>scim-parent</artifactId>
-  <version>2.18</version>
+  <version>2.19</version>
   <packaging>pom</packaging>
   <name>SCIM - Parent</name>
   <description>Penn State's Open Source JavaEE implmentation of the SCIM version 2.0 specification (RFC7642, RFC7643 and RFC7644)</description>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 62c2ac4..b7d99f2 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -3,7 +3,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
   <artifactId>scim-client</artifactId>
   <name>SCIM - Client</name>
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
index 80b6d68..4f04314 100644
--- a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
@@ -35,7 +35,7 @@
   private final Class<T> scimResourceClass;
   private final GenericType<ListResponse<T>> scimResourceListResponseGenericType;
   private final WebTarget target;
-  private final ScimClient scimClient;
+  private final InternalScimClient scimClient;
   private RestCall invoke = Invocation::invoke;
 
   public BaseScimClient(Client client, String baseUrl, Class<T> scimResourceClass, GenericType<ListResponse<T>> scimResourceListGenericType) {
@@ -49,7 +49,7 @@
     this.scimResourceClass = scimResourceClass;
     this.scimResourceListResponseGenericType = scimResourceListGenericType;
     this.target = this.client.target(baseUrl).path(endpoint);
-    this.scimClient = new ScimClient();
+    this.scimClient = new InternalScimClient();
   }
 
   public BaseScimClient(Client client, String baseUrl, Class<T> scimResourceClass, GenericType<ListResponse<T>> scimResourceListGenericType, RestCall invoke) {
@@ -179,7 +179,7 @@
     this.invoke = invoke;
   }
 
-  private class ScimClient implements BaseResourceTypeResource<T> {
+  private class InternalScimClient implements BaseResourceTypeResource<T> {
 
     private static final String ATTRIBUTES_QUERY_PARAM = "attributes";
     private static final String EXCLUDED_ATTRIBUTES_QUERY_PARAM = "excludedAttributes";
@@ -207,7 +207,7 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildGet();
 
       try {
@@ -230,7 +230,7 @@
           .queryParam(SORT_ORDER_QUERY_PARAM, sortOrder != null ? sortOrder.name() : null)
           .queryParam(START_INDEX_QUERY_PARAM, startIndex)
           .queryParam(COUNT_QUERY_PARAM, count)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildGet();
 
       try {
@@ -248,8 +248,8 @@
       Invocation request = BaseScimClient.this.target
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPost(Entity.entity(resource, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPost(Entity.entity(resource, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -265,8 +265,8 @@
       Response response;
       Invocation request = BaseScimClient.this.target
           .path(".search")
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPost(Entity.entity(searchRequest, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPost(Entity.entity(searchRequest, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -284,8 +284,8 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPut(Entity.entity(resource, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPut(Entity.entity(resource, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -303,8 +303,8 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .build("PATCH", Entity.entity(patchRequest, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .build("PATCH", Entity.entity(patchRequest, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -320,7 +320,7 @@
       Response response;
       Invocation request = BaseScimClient.this.target
           .path(id)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildDelete();
 
       try {
@@ -332,4 +332,8 @@
       }
     }
   }
+
+  protected String getContentType() {
+    return Constants.SCIM_CONTENT_TYPE;
+  }
 }
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java
new file mode 100644
index 0000000..de46051
--- /dev/null
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java
@@ -0,0 +1,23 @@
+package edu.psu.swe.scim.client.rest.legacy;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.core.MediaType;
+
+import edu.psu.swe.commons.jaxrs.RestCall;
+import edu.psu.swe.scim.client.rest.ScimGroupClient;
+
+public class Version1ScimGroupClient extends ScimGroupClient {
+
+  public Version1ScimGroupClient(Client client, String baseUrl) {
+    super(client, baseUrl);
+  }
+
+  public Version1ScimGroupClient(Client client, String baseUrl, RestCall invoke) {
+    super(client, baseUrl, invoke);
+  }
+  
+  @Override
+  protected String getContentType() {
+    return MediaType.APPLICATION_JSON;
+  }
+}
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java
new file mode 100644
index 0000000..60a2985
--- /dev/null
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java
@@ -0,0 +1,23 @@
+package edu.psu.swe.scim.client.rest.legacy;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.core.MediaType;
+
+import edu.psu.swe.commons.jaxrs.RestCall;
+import edu.psu.swe.scim.client.rest.ScimUserClient;
+
+public class Version1ScimUserClient extends ScimUserClient {
+
+  public Version1ScimUserClient(Client client, String baseUrl) {
+    super(client, baseUrl);
+  }
+
+  public Version1ScimUserClient(Client client, String baseUrl, RestCall invoke) {
+    super(client, baseUrl, invoke);
+  }
+  
+  @Override
+  protected String getContentType() {
+    return MediaType.APPLICATION_JSON;
+  }
+}
diff --git a/scim-common/pom.xml b/scim-common/pom.xml
index 9101d31..ae59989 100644
--- a/scim-common/pom.xml
+++ b/scim-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-common</artifactId>
@@ -14,12 +14,12 @@
     <dependency>
       <groupId>edu.psu.swe.scim</groupId>
       <artifactId>scim-spec-protocol</artifactId>
-      <version>2.18</version>
+      <version>2.19</version>
     </dependency>
     <dependency>
       <groupId>edu.psu.swe.scim</groupId>
       <artifactId>scim-spec-schema</artifactId>
-      <version>2.18</version>
+      <version>2.19</version>
     </dependency>
   </dependencies>
 
diff --git a/scim-compliance/pom.xml b/scim-compliance/pom.xml
index a86471e..f68971c 100644
--- a/scim-compliance/pom.xml
+++ b/scim-compliance/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance</artifactId>
diff --git a/scim-compliance/scim-compliance-client/pom.xml b/scim-compliance/scim-compliance-client/pom.xml
index eb7aff6..afa68df 100644
--- a/scim-compliance/scim-compliance-client/pom.xml
+++ b/scim-compliance/scim-compliance-client/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-compliance</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance-client</artifactId>
diff --git a/scim-compliance/scim-compliance-server/pom.xml b/scim-compliance/scim-compliance-server/pom.xml
index 098fc33..4c92828 100644
--- a/scim-compliance/scim-compliance-server/pom.xml
+++ b/scim-compliance/scim-compliance-server/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-compliance</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance-server</artifactId>
diff --git a/scim-errai/pom.xml b/scim-errai/pom.xml
index 9c1bf4a..6df5294 100644
--- a/scim-errai/pom.xml
+++ b/scim-errai/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-errai</artifactId>
diff --git a/scim-server/pom.xml b/scim-server/pom.xml
index fa56bf8..27e5d00 100644
--- a/scim-server/pom.xml
+++ b/scim-server/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server</artifactId>
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index 6c8c03b..5a498b1 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-common</artifactId>
diff --git a/scim-server/scim-server-example/pom.xml b/scim-server/scim-server-example/pom.xml
index 557c84d..1f46b12 100644
--- a/scim-server/scim-server-example/pom.xml
+++ b/scim-server/scim-server-example/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-examples</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-couchdb/pom.xml b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
index 2bd4f1d..4ae9cbc 100644
--- a/scim-server/scim-server-example/scim-server-couchdb/pom.xml
+++ b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-couchdb</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-memory/pom.xml b/scim-server/scim-server-example/scim-server-memory/pom.xml
index e72f745..3363199 100644
--- a/scim-server/scim-server-example/scim-server-memory/pom.xml
+++ b/scim-server/scim-server-example/scim-server-memory/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-memory</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-rdbms/pom.xml b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
index 232ce3c..2de5c08 100644
--- a/scim-server/scim-server-example/scim-server-rdbms/pom.xml
+++ b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-rdbms</artifactId>
diff --git a/scim-spec/pom.xml b/scim-spec/pom.xml
index 38ff75f..eaa9d6d 100644
--- a/scim-spec/pom.xml
+++ b/scim-spec/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-spec</artifactId>
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
index bd63cf9..f49af12 100644
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ b/scim-spec/scim-spec-protocol/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-spec</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-spec-protocol</artifactId>
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
index 4b05b77..6c7cdb7 100644
--- a/scim-spec/scim-spec-schema/pom.xml
+++ b/scim-spec/scim-spec-schema/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<groupId>edu.psu.swe.scim</groupId>
 		<artifactId>scim-spec</artifactId>
-		<version>2.18</version>
+		<version>2.19</version>
 	</parent>
 
 	<artifactId>scim-spec-schema</artifactId>
diff --git a/scim-tools/pom.xml b/scim-tools/pom.xml
index a594216..800b60a 100644
--- a/scim-tools/pom.xml
+++ b/scim-tools/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools</artifactId>
diff --git a/scim-tools/scim-tools-cli/pom.xml b/scim-tools/scim-tools-cli/pom.xml
index 3e9ed90..65f8169 100644
--- a/scim-tools/scim-tools-cli/pom.xml
+++ b/scim-tools/scim-tools-cli/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-cli</artifactId>
diff --git a/scim-tools/scim-tools-common/pom.xml b/scim-tools/scim-tools-common/pom.xml
index 44248aa..0440d61 100644
--- a/scim-tools/scim-tools-common/pom.xml
+++ b/scim-tools/scim-tools-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-common</artifactId>
diff --git a/scim-tools/scim-tools-studio/pom.xml b/scim-tools/scim-tools-studio/pom.xml
index 6f1dc5b..f7d4394 100644
--- a/scim-tools/scim-tools-studio/pom.xml
+++ b/scim-tools/scim-tools-studio/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-studio</artifactId>