You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/05/27 13:46:08 UTC

[juneau] branch master updated: MockRest improvements.

This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 9691ead  MockRest improvements.
9691ead is described below

commit 9691ead8b9065e695575c320207e2276204be495
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Wed May 27 09:45:53 2020 -0400

    MockRest improvements.
---
 .../rest/test/client/InterfaceProxyTest.java       |    1 -
 .../apache/juneau/rest/client2/RestClientTest.java |   20 +-
 .../juneau/rest/client2/RestClientBuilder.java     |    7 +
 .../apache/juneau/rest/client2/RestResponse.java   |    2 +-
 .../org/apache/juneau/rest/mock2/MockRemote.java   |    2 +-
 .../org/apache/juneau/rest/mock2/MockRest.java     |  287 +----
 .../apache/juneau/rest/mock2/MockRestBuilder.java  |  302 +++++
 .../apache/juneau/rest/mock2/MockRestClient.java   | 1169 +-------------------
 ...kRestClient.java => MockRestClientBuilder.java} |  472 ++++----
 .../juneau/rest/mock2/MockServletRequest.java      |    2 +-
 .../juneau/rest/BasicRestInfoProviderTest.java     |    2 +-
 .../juneau/rest/BeanContextPropertiesTest.java     |    2 +-
 .../java/org/apache/juneau/rest/DebugModeTest.java |   32 +-
 .../test/java/org/apache/juneau/rest/NlsTest.java  |    6 +-
 14 files changed, 581 insertions(+), 1725 deletions(-)

diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
index 8c20150..367bd03 100644
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
+++ b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/client/InterfaceProxyTest.java
@@ -922,7 +922,6 @@ public class InterfaceProxyTest {
 			};
 		}
 	}
-	static MockRest interfaceProxyResource = MockRest.build(InterfaceProxyResource.class);
 
 	private static Map<String,InterfaceProxy> cache = new LinkedHashMap<>();
 
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
index 25e5e61..64e6719 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
@@ -127,8 +127,24 @@ public class RestClientTest {
 	public void a01_overrideHttpClient() {
 		HttpClientBuilder cb = HttpClientBuilder.create();
 		CloseableHttpClient hc = HttpClientBuilder.create().build();
-		RestClient.create().httpClientBuilder(cb).build();
-		RestClient.create().httpClient(hc).build();
+		RestClient.create().httpClientBuilder(cb).build().builder().build();
+		RestClient.create().httpClient(hc).build().builder().build();
+	}
+
+	public static class A2 extends RestClientBuilder {}
+
+	@Test
+	public void a02_useNoArgConstructor() {
+//		new A2()
+//			.
+//		.create(A.class)
+//		.simpleJson()
+//		.logToConsole()
+//		.build()
+//		.post("/bean", bean)
+//		.complete();
+//		A2.create().httpClientBuilder(cb).build().builder().build();
+//		RestClient.create().httpClient(hc).build().builder().build();
 	}
 
 	//------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index 4e86792..58fcfb2 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -125,6 +125,13 @@ public class RestClientBuilder extends BeanContextBuilder {
 		return new RestClient(getPropertyStore());
 	}
 
+	@Override /* ContextBuilder */
+	public <T extends Context> T build(Class<T> c) {
+		set(RESTCLIENT_httpClient, getHttpClient());
+		set(RESTCLIENT_httpClientBuilder, getHttpClientBuilder());
+		return super.build(c);
+	}
+
 	//------------------------------------------------------------------------------------------------------------------
 	// Convenience marshalling support methods.
 	//------------------------------------------------------------------------------------------------------------------
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
index c0b3452..90ea5e8 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
@@ -40,7 +40,7 @@ import org.apache.juneau.utils.*;
  * 	<li class='link'>{@doc juneau-rest-client}
  * </ul>
  */
-public final class RestResponse implements HttpResponse {
+public class RestResponse implements HttpResponse {
 
 	private final RestClient client;
 	private final RestRequest request;
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
index 60e3852..8998577 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRemote.java
@@ -40,7 +40,7 @@ import org.apache.juneau.xml.*;
  */
 public class MockRemote<T> {
 
-	private MockRest.Builder mrb;
+	private MockRestBuilder mrb;
 	private RestClientBuilder rcb = RestClient.create();
 	private final Class<T> intf;
 
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
index b006267..2ae2fe0 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRest.java
@@ -12,7 +12,6 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.rest.mock2;
 
-import static org.apache.juneau.rest.util.RestUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 
 import java.io.*;
@@ -83,7 +82,7 @@ public class MockRest implements MockHttpConnection {
 	 *
 	 * @param b Builder.
 	 */
-	protected MockRest(Builder b) {
+	protected MockRest(MockRestBuilder b) {
 		try {
 			debug = b.debug;
 			Class<?> c = b.impl instanceof Class ? (Class<?>)b.impl : b.impl.getClass();
@@ -125,8 +124,8 @@ public class MockRest implements MockHttpConnection {
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
-	public static Builder create(Object impl) {
-		return new Builder(impl);
+	public static MockRestBuilder create(Object impl) {
+		return new MockRestBuilder(impl);
 	}
 
 	/**
@@ -238,286 +237,6 @@ public class MockRest implements MockHttpConnection {
 	}
 
 	/**
-	 * Builder class.
-	 */
-	public static class Builder {
-		Object impl;
-		boolean debug;
-		Map<String,Object> headers = new LinkedHashMap<>();
-		String contextPath, servletPath;
-		String[] roles = new String[0];
-
-		Builder(Object impl) {
-			this.impl = impl;
-		}
-
-		/**
-		 * Enable debug mode.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder debug() {
-			this.debug = true;
-			header("X-Debug", true);
-			return this;
-		}
-
-		/**
-		 * Enable no-trace mode.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder noTrace() {
-			header("X-NoTrace", true);
-			return this;
-		}
-
-		/**
-		 * Adds a header to every request.
-		 *
-		 * @param name The header name.
-		 * @param value
-		 * 	The header value.
-		 * 	<br>Can be <jk>null</jk> (will be skipped).
-		 * @return This object (for method chaining).
-		 */
-		public Builder header(String name, Object value) {
-			this.headers.put(name, value);
-			return this;
-		}
-
-		/**
-		 * Adds the specified headers to every request.
-		 *
-		 * @param value
-		 * 	The header values.
-		 * 	<br>Can be <jk>null</jk> (existing values will be cleared).
-		 * 	<br><jk>null</jk> null map values will be ignored.
-		 * @return This object (for method chaining).
-		 */
-		public Builder headers(Map<String,Object> value) {
-			if (value != null)
-				this.headers.putAll(value);
-			else
-				this.headers.clear();
-			return this;
-		}
-
-		/**
-		 * Specifies the <c>Accept</c> header to every request.
-		 *
-		 * @param value The <c>Accept</c> header value.
-		 * @return This object (for method chaining).
-		 */
-		public Builder accept(String value) {
-			return header("Accept", value);
-		}
-
-		/**
-		 * Specifies the  <c>Content-Type</c> header to every request.
-		 *
-		 * @param value The <c>Content-Type</c> header value.
-		 * @return This object (for method chaining).
-		 */
-		public Builder contentType(String value) {
-			return header("Content-Type", value);
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/json"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder json() {
-			return accept("application/json").contentType("application/json");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/json+simple"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder simpleJson() {
-			return accept("application/json+simple").contentType("application/json+simple");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/xml"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder xml() {
-			return accept("text/xml").contentType("text/xml");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/html"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder html() {
-			return accept("text/html").contentType("text/html");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/plain"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder plainText() {
-			return accept("text/plain").contentType("text/plain");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"octal/msgpack"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder msgpack() {
-			return accept("octal/msgpack").contentType("octal/msgpack");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/uon"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder uon() {
-			return accept("text/uon").contentType("text/uon");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/x-www-form-urlencoded"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder urlEnc() {
-			return accept("application/x-www-form-urlencoded").contentType("application/x-www-form-urlencoded");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/yaml"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder yaml() {
-			return accept("text/yaml").contentType("text/yaml");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/openapi"</js>.
-		 *
-		 * @return This object (for method chaining).
-		 */
-		public Builder openapi() {
-			return accept("text/openapi").contentType("text/openapi");
-		}
-
-		/**
-		 * Convenience method for setting the <c>Content-Type</c> header to the primary media type on the specified serializer.
-		 *
-		 * @param value
-		 * 	The serializer to get the media type from.
-		 * 	<br>If <jk>null</jk>, header will be reset.
-		 * @return This object (for method chaining).
-		 */
-		public Builder serializer(Serializer value) {
-			return contentType(value == null ? null : value.getPrimaryMediaType().toString());
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> header to the primary media type on the specified parser.
-		 *
-		 * @param value
-		 * 	The parser to get the media type from.
-		 * 	<br>If <jk>null</jk>, header will be reset.
-		 * @return This object (for method chaining).
-		 */
-		public Builder parser(Parser value) {
-			return accept(value == null ? null : value.getPrimaryMediaType().toString());
-		}
-
-		/**
-		 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to the primary media types on the specified marshall.
-		 *
-		 * @param value
-		 * 	The marshall to get the media types from.
-		 * 	<br>If <jk>null</jk>, headers will be reset.
-		 * @return This object (for method chaining).
-		 */
-		public Builder marshall(Marshall value) {
-			contentType(value == null ? null : value.getSerializer().getPrimaryMediaType().toString());
-			accept(value == null ? null : value.getParser().getPrimaryMediaType().toString());
-			return this;
-		}
-
-		/**
-		 * Identifies the context path for the REST resource.
-		 *
-		 * <p>
-		 * If not specified, uses <js>""</js>.
-		 *
-		 * @param value
-		 * 	The context path.
-		 * 	<br>Must not be <jk>null</jk> and must either be blank or start but not end with a <js>'/'</js> character.
-		 * @return This object (for method chaining).
-		 */
-		public Builder contextPath(String value) {
-			validateContextPath(value);
-			this.contextPath = value;
-			return this;
-		}
-
-		/**
-		 * Identifies the servlet path for the REST resource.
-		 *
-		 * <p>
-		 * If not specified, uses <js>""</js>.
-		 *
-		 * @param value
-		 * 	The servlet path.
-		 * 	<br>Must not be <jk>null</jk> and must either be blank or start but not end with a <js>'/'</js> character.
-		 * @return This object (for method chaining).
-		 */
-		public Builder servletPath(String value) {
-			validateServletPath(value);
-			this.servletPath = value;
-			return this;
-		}
-
-		/**
-		 * Adds the specified security roles for all requests.
-		 *
-		 * @param values The role names to add to all requests (e.g. <js>"ROLE_ADMIN"</js>).
-		 * @return This object (for method chaining).
-		 */
-		public Builder roles(String...values) {
-			this.roles = values;
-			return this;
-		}
-
-		/**
-		 * Adds the specified security role for all requests.
-		 *
-		 * @param value The role name to add to all requests (e.g. <js>"ROLE_ADMIN"</js>).
-		 * @return This object (for method chaining).
-		 */
-		public Builder role(String value) {
-			this.roles = new String[]{value};
-			return this;
-		}
-
-		/**
-		 * Create a new {@link MockRest} object based on the settings on this builder.
-		 *
-		 * @return A new {@link MockRest} object.
-		 */
-		public MockRest build() {
-			return new MockRest(this);
-		}
-	}
-
-	/**
 	 * Performs a REST request against the REST interface.
 	 *
 	 * @param method The HTTP method
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestBuilder.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestBuilder.java
new file mode 100644
index 0000000..d36f1d4
--- /dev/null
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestBuilder.java
@@ -0,0 +1,302 @@
+// ***************************************************************************************************************************
+// * 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 org.apache.juneau.rest.mock2;
+
+import static org.apache.juneau.rest.util.RestUtils.*;
+
+import java.util.*;
+
+import org.apache.juneau.marshall.*;
+import org.apache.juneau.parser.*;
+import org.apache.juneau.serializer.*;
+
+/**
+ * Builder class for {@link MockRest} objects.
+ */
+public class MockRestBuilder {
+
+	Object impl;
+	boolean debug;
+	Map<String,Object> headers = new LinkedHashMap<>();
+	String contextPath, servletPath;
+	String[] roles = new String[0];
+
+	MockRestBuilder(Object impl) {
+		this.impl = impl;
+	}
+
+	/**
+	 * Enable debug mode.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder debug() {
+		this.debug = true;
+		header("X-Debug", true);
+		return this;
+	}
+
+	/**
+	 * Enable no-trace mode.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder noTrace() {
+		header("X-NoTrace", true);
+		return this;
+	}
+
+	/**
+	 * Adds a header to every request.
+	 *
+	 * @param name The header name.
+	 * @param value
+	 * 	The header value.
+	 * 	<br>Can be <jk>null</jk> (will be skipped).
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder header(String name, Object value) {
+		this.headers.put(name, value);
+		return this;
+	}
+
+	/**
+	 * Adds the specified headers to every request.
+	 *
+	 * @param value
+	 * 	The header values.
+	 * 	<br>Can be <jk>null</jk> (existing values will be cleared).
+	 * 	<br><jk>null</jk> null map values will be ignored.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder headers(Map<String,Object> value) {
+		if (value != null)
+			this.headers.putAll(value);
+		else
+			this.headers.clear();
+		return this;
+	}
+
+	/**
+	 * Specifies the <c>Accept</c> header to every request.
+	 *
+	 * @param value The <c>Accept</c> header value.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder accept(String value) {
+		return header("Accept", value);
+	}
+
+	/**
+	 * Specifies the  <c>Content-Type</c> header to every request.
+	 *
+	 * @param value The <c>Content-Type</c> header value.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder contentType(String value) {
+		return header("Content-Type", value);
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/json"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder json() {
+		return accept("application/json").contentType("application/json");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/json+simple"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder simpleJson() {
+		return accept("application/json+simple").contentType("application/json+simple");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/xml"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder xml() {
+		return accept("text/xml").contentType("text/xml");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/html"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder html() {
+		return accept("text/html").contentType("text/html");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/plain"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder plainText() {
+		return accept("text/plain").contentType("text/plain");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"octal/msgpack"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder msgpack() {
+		return accept("octal/msgpack").contentType("octal/msgpack");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/uon"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder uon() {
+		return accept("text/uon").contentType("text/uon");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"application/x-www-form-urlencoded"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder urlEnc() {
+		return accept("application/x-www-form-urlencoded").contentType("application/x-www-form-urlencoded");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/yaml"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder yaml() {
+		return accept("text/yaml").contentType("text/yaml");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to <js>"text/openapi"</js>.
+	 *
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder openapi() {
+		return accept("text/openapi").contentType("text/openapi");
+	}
+
+	/**
+	 * Convenience method for setting the <c>Content-Type</c> header to the primary media type on the specified serializer.
+	 *
+	 * @param value
+	 * 	The serializer to get the media type from.
+	 * 	<br>If <jk>null</jk>, header will be reset.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder serializer(Serializer value) {
+		return contentType(value == null ? null : value.getPrimaryMediaType().toString());
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> header to the primary media type on the specified parser.
+	 *
+	 * @param value
+	 * 	The parser to get the media type from.
+	 * 	<br>If <jk>null</jk>, header will be reset.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder parser(Parser value) {
+		return accept(value == null ? null : value.getPrimaryMediaType().toString());
+	}
+
+	/**
+	 * Convenience method for setting the <c>Accept</c> and <c>Content-Type</c> headers to the primary media types on the specified marshall.
+	 *
+	 * @param value
+	 * 	The marshall to get the media types from.
+	 * 	<br>If <jk>null</jk>, headers will be reset.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder marshall(Marshall value) {
+		contentType(value == null ? null : value.getSerializer().getPrimaryMediaType().toString());
+		accept(value == null ? null : value.getParser().getPrimaryMediaType().toString());
+		return this;
+	}
+
+	/**
+	 * Identifies the context path for the REST resource.
+	 *
+	 * <p>
+	 * If not specified, uses <js>""</js>.
+	 *
+	 * @param value
+	 * 	The context path.
+	 * 	<br>Must not be <jk>null</jk> and must either be blank or start but not end with a <js>'/'</js> character.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder contextPath(String value) {
+		validateContextPath(value);
+		this.contextPath = value;
+		return this;
+	}
+
+	/**
+	 * Identifies the servlet path for the REST resource.
+	 *
+	 * <p>
+	 * If not specified, uses <js>""</js>.
+	 *
+	 * @param value
+	 * 	The servlet path.
+	 * 	<br>Must not be <jk>null</jk> and must either be blank or start but not end with a <js>'/'</js> character.
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder servletPath(String value) {
+		validateServletPath(value);
+		this.servletPath = value;
+		return this;
+	}
+
+	/**
+	 * Adds the specified security roles for all requests.
+	 *
+	 * @param values The role names to add to all requests (e.g. <js>"ROLE_ADMIN"</js>).
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder roles(String...values) {
+		this.roles = values;
+		return this;
+	}
+
+	/**
+	 * Adds the specified security role for all requests.
+	 *
+	 * @param value The role name to add to all requests (e.g. <js>"ROLE_ADMIN"</js>).
+	 * @return This object (for method chaining).
+	 */
+	public MockRestBuilder role(String value) {
+		this.roles = new String[]{value};
+		return this;
+	}
+
+	/**
+	 * Create a new {@link MockRest} object based on the settings on this builder.
+	 *
+	 * @return A new {@link MockRest} object.
+	 */
+	public MockRest build() {
+		return new MockRest(this);
+	}
+}
\ No newline at end of file
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index 2ec6ba6..06ca3fb 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -12,26 +12,9 @@
 // ***************************************************************************************************************************
 package org.apache.juneau.rest.mock2;
 
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.function.*;
-import java.util.logging.*;
-
-import java.lang.annotation.*;
-import java.lang.reflect.Method;
-
-import org.apache.http.impl.client.*;
 import org.apache.juneau.*;
-import org.apache.juneau.http.*;
-import org.apache.juneau.httppart.*;
-import org.apache.juneau.marshall.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.reflect.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.client2.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.svl.*;
-import org.apache.juneau.uon.*;
 
 /**
  * Mocked {@link RestClient}.
@@ -40,21 +23,17 @@ import org.apache.juneau.uon.*;
  * 	<li class='link'>{@doc juneau-rest-mock}
  * </ul>
  */
-public class MockRestClient extends RestClientBuilder {
-
-	private MockRest.Builder mrb;
+public class MockRestClient extends RestClient {
 
 	/**
 	 * Constructor.
 	 *
-	 * @param impl
+	 * @param ps
 	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 */
-	protected MockRestClient(Object impl) {
-		super(null);
-		mrb = MockRest.create(impl);
-		rootUrl("http://localhost");
+	public MockRestClient(PropertyStore ps) {
+		super(ps);
 	}
 
 	/**
@@ -65,8 +44,8 @@ public class MockRestClient extends RestClientBuilder {
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
-	public static MockRestClient create(Object impl) {
-		return new MockRestClient(impl);
+	public static MockRestClientBuilder create(Object impl) {
+		return new MockRestClientBuilder().bean(impl);
 	}
 
 	/**
@@ -83,7 +62,7 @@ public class MockRestClient extends RestClientBuilder {
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
-	public static RestClient build(Object impl) {
+	public static MockRestClient build(Object impl) {
 		return create(impl).build();
 	}
 
@@ -101,8 +80,8 @@ public class MockRestClient extends RestClientBuilder {
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
-	public static RestClient buildJson(Object impl) {
-		return create(impl).json().build();
+	public static MockRestClient buildJson(Object impl) {
+		return create(impl).json().build(MockRestClient.class);
 	}
 
 	/**
@@ -119,1138 +98,12 @@ public class MockRestClient extends RestClientBuilder {
 	 * 	<br>If a class, it must have a no-arg constructor.
 	 * @return A new builder.
 	 */
-	public static RestClient buildSimpleJson(Object impl) {
-		return create(impl).simpleJson().build();
+	public static MockRestClient buildSimpleJson(Object impl) {
+		return create(impl).simpleJson().build(MockRestClient.class);
 	}
 
-	@Override
-	public RestClient build() {
-		if (peek(BeanContext.BEAN_debug) == Boolean.TRUE)
-			mrb.debug();
-		connectionManager(new MockHttpClientConnectionManager(mrb.build()));
-		return super.build();
-	}
 
 	// <CONFIGURATION-PROPERTIES>
 
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient add(Map<String,Object> properties) {
-		super.add(properties);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient addTo(String name, Object value) {
-		super.addTo(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient appendTo(String name, Object value) {
-		super.appendTo(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient apply(PropertyStore copyFrom) {
-		super.apply(copyFrom);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(java.lang.Class<?>...fromClasses) {
-		super.applyAnnotations(fromClasses);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(Method...fromMethods) {
-		super.applyAnnotations(fromMethods);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(AnnotationList al, VarResolverSession r) {
-		super.applyAnnotations(al, r);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient prependTo(String name, Object value) {
-		super.prependTo(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient putAllTo(String name, Object value) {
-		super.putAllTo(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient putTo(String name, String key, Object value) {
-		super.putTo(name, key, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient removeFrom(String name, Object value) {
-		super.removeFrom(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient set(Map<String,Object> properties) {
-		super.set(properties);
-		return this;
-	}
-
-	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient set(String name, Object value) {
-		super.set(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient annotations(Annotation...values) {
-		super.annotations(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanClassVisibility(Visibility value) {
-		super.beanClassVisibility(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanConstructorVisibility(Visibility value) {
-		super.beanConstructorVisibility(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanFieldVisibility(Visibility value) {
-		super.beanFieldVisibility(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) {
-		super.beanInterceptor(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanMapPutReturnsOldValue() {
-		super.beanMapPutReturnsOldValue();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanMethodVisibility(Visibility value) {
-		super.beanMethodVisibility(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansDontRequireSomeProperties() {
-		super.beansDontRequireSomeProperties();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireDefaultConstructor() {
-		super.beansRequireDefaultConstructor();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireSerializable() {
-		super.beansRequireSerializable();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireSettersForGetters() {
-		super.beansRequireSettersForGetters();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(Map<String,Object> values) {
-		super.bpi(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(Class<?> beanClass, String properties) {
-		super.bpi(beanClass, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(String beanClassName, String properties) {
-		super.bpi(beanClassName, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(Map<String,Object> values) {
-		super.bpro(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(Class<?> beanClass, String properties) {
-		super.bpro(beanClass, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(String beanClassName, String properties) {
-		super.bpro(beanClassName, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(Map<String,Object> values) {
-		super.bpwo(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(Class<?> beanClass, String properties) {
-		super.bpwo(beanClass, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(String beanClassName, String properties) {
-		super.bpwo(beanClassName, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(Map<String,Object> values) {
-		super.bpx(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(Class<?> beanClass, String properties) {
-		super.bpx(beanClass, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(String beanClassName, String properties) {
-		super.bpx(beanClassName, properties);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient debug() {
-		super.debug();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dictionary(Object...values) {
-		super.dictionary(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dictionaryOn(Class<?> on, java.lang.Class<?>...values) {
-		super.dictionaryOn(on, values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnoreTransientFields() {
-		super.dontIgnoreTransientFields();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnoreUnknownNullBeanProperties() {
-		super.dontIgnoreUnknownNullBeanProperties();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontUseInterfaceProxies() {
-		super.dontUseInterfaceProxies();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public <T> MockRestClient example(Class<T> pojoClass, T o) {
-		super.example(pojoClass, o);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public <T> MockRestClient exampleJson(Class<T> pojoClass, String json) {
-		super.exampleJson(pojoClass, json);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient fluentSetters() {
-		super.fluentSetters();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient fluentSetters(Class<?> on) {
-		super.fluentSetters(on);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreInvocationExceptionsOnGetters() {
-		super.ignoreInvocationExceptionsOnGetters();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreInvocationExceptionsOnSetters() {
-		super.ignoreInvocationExceptionsOnSetters();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreUnknownBeanProperties() {
-		super.ignoreUnknownBeanProperties();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient implClass(Class<?> interfaceClass, Class<?> implClass) {
-		super.implClass(interfaceClass, implClass);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient implClasses(Map<Class<?>,Class<?>> values) {
-		super.implClasses(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient interfaceClass(Class<?> on, Class<?> value) {
-		super.interfaceClass(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient interfaces(java.lang.Class<?>...value) {
-		super.interfaces(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient locale(Locale value) {
-		super.locale(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient mediaType(MediaType value) {
-		super.mediaType(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient notBeanClasses(Object...values) {
-		super.notBeanClasses(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient notBeanPackages(Object...values) {
-		super.notBeanPackages(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) {
-		super.propertyNamer(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient sortProperties() {
-		super.sortProperties();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient sortProperties(java.lang.Class<?>...on) {
-		super.sortProperties(on);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient stopClass(Class<?> on, Class<?> value) {
-		super.stopClass(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient swaps(Object...values) {
-		super.swaps(values);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient timeZone(TimeZone value) {
-		super.timeZone(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typeName(Class<?> on, String value) {
-		super.typeName(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typePropertyName(String value) {
-		super.typePropertyName(value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typePropertyName(Class<?> on, String value) {
-		super.typePropertyName(on, value);
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient useEnumNames() {
-		super.useEnumNames();
-		return this;
-	}
-
-	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient useJavaBeanIntrospector() {
-		super.useJavaBeanIntrospector();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient accept(Object value) {
-		super.accept(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptCharset(Object value) {
-		super.acceptCharset(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptEncoding(Object value) {
-		super.acceptEncoding(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptLanguage(Object value) {
-		super.acceptLanguage(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient addBeanTypes() {
-		super.addBeanTypes();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient addRootType() {
-		super.addRootType();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient authorization(Object value) {
-		super.authorization(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient basicAuth(String host, int port, String user, String pw) {
-		super.basicAuth(host, port, user, pw);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient cacheControl(Object value) {
-		super.cacheControl(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient callHandler(Class<? extends org.apache.juneau.rest.client2.RestCallHandler> value) {
-		super.callHandler(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient callHandler(RestCallHandler value) {
-		super.callHandler(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient clientVersion(Object value) {
-		super.clientVersion(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient connection(Object value) {
-		super.connection(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient contentLength(Object value) {
-		super.contentLength(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient contentType(Object value) {
-		super.contentType(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient date(Object value) {
-		super.date(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient debugOutputLines(int value) {
-		super.debugOutputLines(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient detectRecursions() {
-		super.detectRecursions();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient errorCodes(Predicate<Integer> value) {
-		super.errorCodes(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient executorService(ExecutorService executorService, boolean shutdownOnClose) {
-		super.executorService(executorService, shutdownOnClose);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient expect(Object value) {
-		super.expect(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(Object...params) {
-		super.formData(params);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value) {
-		super.formData(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value, HttpPartSchema schema) {
-		super.formData(name, value, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
-		super.formData(name, value, serializer, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formDataPairs(Object...pairs) {
-		super.formDataPairs(pairs);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient forwarded(Object value) {
-		super.forwarded(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient from(Object value) {
-		super.from(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(Object header) {
-		super.header(header);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value) {
-		super.header(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value, HttpPartSchema schema) {
-		super.header(name, value, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
-		super.header(name, value, serializer, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient headerPairs(Object...pairs) {
-		super.headerPairs(pairs);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient headers(Object...headers) {
-		super.headers(headers);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient host(Object value) {
-		super.host(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient html() {
-		super.html();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient htmlDoc() {
-		super.htmlDoc();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient htmlStrippedDoc() {
-		super.htmlStrippedDoc();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient httpClient(CloseableHttpClient value) {
-		super.httpClient(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient httpClientBuilder(HttpClientBuilder value) {
-		super.httpClientBuilder(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifMatch(Object value) {
-		super.ifMatch(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifModifiedSince(Object value) {
-		super.ifModifiedSince(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifNoneMatch(Object value) {
-		super.ifNoneMatch(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifRange(Object value) {
-		super.ifRange(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifUnmodifiedSince(Object value) {
-		super.ifUnmodifiedSince(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ignoreRecursions() {
-		super.ignoreRecursions();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient initialDepth(int value) {
-		super.initialDepth(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	@SuppressWarnings("unchecked")
-	public MockRestClient interceptors(java.lang.Class<? extends org.apache.juneau.rest.client2.RestCallInterceptor>...values) throws Exception{
-		super.interceptors(values);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient interceptors(RestCallInterceptor...value) {
-		super.interceptors(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient json() {
-		super.json();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient keepHttpClientOpen() {
-		super.keepHttpClientOpen();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient keepNullProperties() {
-		super.keepNullProperties();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient leakDetection() {
-		super.leakDetection();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logRequests(DetailLevel detail, Level level) {
-		super.logRequests(detail, level);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logToConsole() {
-		super.logToConsole();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logger(Logger value) {
-		super.logger(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient marshall(Marshall value) {
-		super.marshall(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient marshalls(Marshall...value) {
-		super.marshalls(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxDepth(int value) {
-		super.maxDepth(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxForwards(Object value) {
-		super.maxForwards(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxIndent(int value) {
-		super.maxIndent(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient msgPack() {
-		super.msgPack();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient noTrace() {
-		super.noTrace();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient oapiCollectionFormat(HttpPartCollectionFormat value) {
-		super.oapiCollectionFormat(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient oapiFormat(HttpPartFormat value) {
-		super.oapiFormat(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient openApi() {
-		super.openApi();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient origin(Object value) {
-		super.origin(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient paramFormat(ParamFormat value) {
-		super.paramFormat(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient paramFormatPlain() {
-		super.paramFormatPlain();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parser(Class<? extends org.apache.juneau.parser.Parser> value) {
-		super.parser(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parser(Parser value) {
-		super.parser(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	@SuppressWarnings("unchecked")
-	public MockRestClient parsers(java.lang.Class<? extends org.apache.juneau.parser.Parser>...value) {
-		super.parsers(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parsers(Parser...value) {
-		super.parsers(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partParser(Class<? extends org.apache.juneau.httppart.HttpPartParser> value) {
-		super.partParser(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partParser(HttpPartParser value) {
-		super.partParser(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partSerializer(Class<? extends org.apache.juneau.httppart.HttpPartSerializer> value) {
-		super.partSerializer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partSerializer(HttpPartSerializer value) {
-		super.partSerializer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient plainText() {
-		super.plainText();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient pooled() {
-		super.pooled();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient pragma(Object value) {
-		super.pragma(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient proxyAuthorization(Object value) {
-		super.proxyAuthorization(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(Object...params) {
-		super.query(params);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value) {
-		super.query(name, value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value, HttpPartSchema schema) {
-		super.query(name, value, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
-		super.query(name, value, serializer, schema);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient queryPairs(Object...pairs) {
-		super.queryPairs(pairs);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient quoteChar(char value) {
-		super.quoteChar(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient range(Object value) {
-		super.range(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient referer(Object value) {
-		super.referer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient rootUrl(Object value) {
-		super.rootUrl(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializer(Class<? extends org.apache.juneau.serializer.Serializer> value) {
-		super.serializer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializer(Serializer value) {
-		super.serializer(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	@SuppressWarnings("unchecked")
-	public MockRestClient serializers(java.lang.Class<? extends org.apache.juneau.serializer.Serializer>...value) {
-		super.serializers(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializers(Serializer...value) {
-		super.serializers(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient simpleJson() {
-		super.simpleJson();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sortCollections() {
-		super.sortCollections();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sortMaps() {
-		super.sortMaps();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sq() {
-		super.sq();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient strict() {
-		super.strict();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient te(Object value) {
-		super.te(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimEmptyCollections() {
-		super.trimEmptyCollections();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimEmptyMaps() {
-		super.trimEmptyMaps();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimStringsOnRead() {
-		super.trimStringsOnRead();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimStringsOnWrite() {
-		super.trimStringsOnWrite();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uon() {
-		super.uon();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient upgrade(Object value) {
-		super.upgrade(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriContext(UriContext value) {
-		super.uriContext(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriRelativity(UriRelativity value) {
-		super.uriRelativity(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriResolution(UriResolution value) {
-		super.uriResolution(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient urlEnc() {
-		super.urlEnc();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient useWhitespace() {
-		super.useWhitespace();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient userAgent(Object value) {
-		super.userAgent(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient via(Object value) {
-		super.via(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient warning(Object value) {
-		super.warning(value);
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ws() {
-		super.ws();
-		return this;
-	}
-
-	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient xml() {
-		super.xml();
-		return this;
-	}
-
 	// </CONFIGURATION-PROPERTIES>
 }
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
similarity index 61%
copy from juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
copy to juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
index 2ec6ba6..b060d79 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
@@ -40,1214 +40,1174 @@ import org.apache.juneau.uon.*;
  * 	<li class='link'>{@doc juneau-rest-mock}
  * </ul>
  */
-public class MockRestClient extends RestClientBuilder {
+public class MockRestClientBuilder extends RestClientBuilder {
 
-	private MockRest.Builder mrb;
+	private MockRestBuilder mrb;
 
 	/**
 	 * Constructor.
-	 *
-	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
-	 * 	<br>If a class, it must have a no-arg constructor.
+	 * @param ps
+	 * 	Initial configuration properties for this builder.
 	 */
-	protected MockRestClient(Object impl) {
-		super(null);
-		mrb = MockRest.create(impl);
-		rootUrl("http://localhost");
+	protected MockRestClientBuilder(PropertyStore ps) {
+		super(ps);
 	}
 
 	/**
-	 * Creates a new {@link RestClientBuilder} configured with the specified REST implementation bean or bean class.
+	 * No-arg constructor.
 	 *
-	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
-	 * 	<br>If a class, it must have a no-arg constructor.
-	 * @return A new builder.
+	 * <p>
+	 * Provided so that this class can be easily subclassed.
 	 */
-	public static MockRestClient create(Object impl) {
-		return new MockRestClient(impl);
+	protected MockRestClientBuilder() {
+		super(null);
+		rootUrl("http://localhost");
 	}
 
-	/**
-	 * Creates a new {@link RestClient} with no registered serializer or parser.
-	 *
-	 * <p>
-	 * Equivalent to calling:
-	 * <p class='bcode w800'>
-	 * 	MockRestClient.create(impl).build();
-	 * </p>
-	 *
-	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
-	 * 	<br>If a class, it must have a no-arg constructor.
-	 * @return A new builder.
-	 */
-	public static RestClient build(Object impl) {
-		return create(impl).build();
+	@Override /* ContextBuilder */
+	public MockRestClient build() {
+		if (peek(BeanContext.BEAN_debug) == Boolean.TRUE)
+			mrb.debug();
+		connectionManager(new MockHttpClientConnectionManager(mrb.build()));
+		return super.build(MockRestClient.class);
 	}
 
-	/**
-	 * Creates a new {@link RestClient} with JSON marshalling support.
-	 *
-	 * <p>
-	 * Equivalent to calling:
-	 * <p class='bcode w800'>
-	 * 	MockRestClient.create(impl).json().build();
-	 * </p>
-	 *
-	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
-	 * 	<br>If a class, it must have a no-arg constructor.
-	 * @return A new builder.
-	 */
-	public static RestClient buildJson(Object impl) {
-		return create(impl).json().build();
+	@Override /* ContextBuilder */
+	public <T extends Context> T build(Class<T> c) {
+		if (peek(BeanContext.BEAN_debug) == Boolean.TRUE)
+			mrb.debug();
+		connectionManager(new MockHttpClientConnectionManager(mrb.build()));
+		return super.build(c);
 	}
 
 	/**
-	 * Creates a new {@link RestClient} with Simplified-JSON marshalling support.
+	 * Specifies the {@link Rest}-annotated bean to test against.
 	 *
-	 * <p>
-	 * Equivalent to calling:
-	 * <p class='bcode w800'>
-	 * 	MockRestClient.create(impl).json().build();
-	 * </p>
-	 *
-	 * @param impl
-	 * 	The REST bean or bean class annotated with {@link Rest @Rest}.
-	 * 	<br>If a class, it must have a no-arg constructor.
-	 * @return A new builder.
+	 * @param bean The {@link Rest}-annotated bean to test against.
+	 * @return This object (for method chaining).
 	 */
-	public static RestClient buildSimpleJson(Object impl) {
-		return create(impl).simpleJson().build();
-	}
-
-	@Override
-	public RestClient build() {
-		if (peek(BeanContext.BEAN_debug) == Boolean.TRUE)
-			mrb.debug();
-		connectionManager(new MockHttpClientConnectionManager(mrb.build()));
-		return super.build();
+	public MockRestClientBuilder bean(Object bean) {
+		mrb = MockRest.create(bean);
+		return this;
 	}
 
 	// <CONFIGURATION-PROPERTIES>
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient add(Map<String,Object> properties) {
+	public MockRestClientBuilder add(Map<String,Object> properties) {
 		super.add(properties);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient addTo(String name, Object value) {
+	public MockRestClientBuilder addTo(String name, Object value) {
 		super.addTo(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient appendTo(String name, Object value) {
+	public MockRestClientBuilder appendTo(String name, Object value) {
 		super.appendTo(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient apply(PropertyStore copyFrom) {
+	public MockRestClientBuilder apply(PropertyStore copyFrom) {
 		super.apply(copyFrom);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(java.lang.Class<?>...fromClasses) {
+	public MockRestClientBuilder applyAnnotations(java.lang.Class<?>...fromClasses) {
 		super.applyAnnotations(fromClasses);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(Method...fromMethods) {
+	public MockRestClientBuilder applyAnnotations(Method...fromMethods) {
 		super.applyAnnotations(fromMethods);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient applyAnnotations(AnnotationList al, VarResolverSession r) {
+	public MockRestClientBuilder applyAnnotations(AnnotationList al, VarResolverSession r) {
 		super.applyAnnotations(al, r);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient prependTo(String name, Object value) {
+	public MockRestClientBuilder prependTo(String name, Object value) {
 		super.prependTo(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient putAllTo(String name, Object value) {
+	public MockRestClientBuilder putAllTo(String name, Object value) {
 		super.putAllTo(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient putTo(String name, String key, Object value) {
+	public MockRestClientBuilder putTo(String name, String key, Object value) {
 		super.putTo(name, key, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient removeFrom(String name, Object value) {
+	public MockRestClientBuilder removeFrom(String name, Object value) {
 		super.removeFrom(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient set(Map<String,Object> properties) {
+	public MockRestClientBuilder set(Map<String,Object> properties) {
 		super.set(properties);
 		return this;
 	}
 
 	@Override /* GENERATED - ContextBuilder */
-	public MockRestClient set(String name, Object value) {
+	public MockRestClientBuilder set(String name, Object value) {
 		super.set(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient annotations(Annotation...values) {
+	public MockRestClientBuilder annotations(Annotation...values) {
 		super.annotations(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanClassVisibility(Visibility value) {
+	public MockRestClientBuilder beanClassVisibility(Visibility value) {
 		super.beanClassVisibility(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanConstructorVisibility(Visibility value) {
+	public MockRestClientBuilder beanConstructorVisibility(Visibility value) {
 		super.beanConstructorVisibility(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanFieldVisibility(Visibility value) {
+	public MockRestClientBuilder beanFieldVisibility(Visibility value) {
 		super.beanFieldVisibility(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) {
+	public MockRestClientBuilder beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) {
 		super.beanInterceptor(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanMapPutReturnsOldValue() {
+	public MockRestClientBuilder beanMapPutReturnsOldValue() {
 		super.beanMapPutReturnsOldValue();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beanMethodVisibility(Visibility value) {
+	public MockRestClientBuilder beanMethodVisibility(Visibility value) {
 		super.beanMethodVisibility(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansDontRequireSomeProperties() {
+	public MockRestClientBuilder beansDontRequireSomeProperties() {
 		super.beansDontRequireSomeProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireDefaultConstructor() {
+	public MockRestClientBuilder beansRequireDefaultConstructor() {
 		super.beansRequireDefaultConstructor();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireSerializable() {
+	public MockRestClientBuilder beansRequireSerializable() {
 		super.beansRequireSerializable();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient beansRequireSettersForGetters() {
+	public MockRestClientBuilder beansRequireSettersForGetters() {
 		super.beansRequireSettersForGetters();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(Map<String,Object> values) {
+	public MockRestClientBuilder bpi(Map<String,Object> values) {
 		super.bpi(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(Class<?> beanClass, String properties) {
+	public MockRestClientBuilder bpi(Class<?> beanClass, String properties) {
 		super.bpi(beanClass, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpi(String beanClassName, String properties) {
+	public MockRestClientBuilder bpi(String beanClassName, String properties) {
 		super.bpi(beanClassName, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(Map<String,Object> values) {
+	public MockRestClientBuilder bpro(Map<String,Object> values) {
 		super.bpro(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(Class<?> beanClass, String properties) {
+	public MockRestClientBuilder bpro(Class<?> beanClass, String properties) {
 		super.bpro(beanClass, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpro(String beanClassName, String properties) {
+	public MockRestClientBuilder bpro(String beanClassName, String properties) {
 		super.bpro(beanClassName, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(Map<String,Object> values) {
+	public MockRestClientBuilder bpwo(Map<String,Object> values) {
 		super.bpwo(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(Class<?> beanClass, String properties) {
+	public MockRestClientBuilder bpwo(Class<?> beanClass, String properties) {
 		super.bpwo(beanClass, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpwo(String beanClassName, String properties) {
+	public MockRestClientBuilder bpwo(String beanClassName, String properties) {
 		super.bpwo(beanClassName, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(Map<String,Object> values) {
+	public MockRestClientBuilder bpx(Map<String,Object> values) {
 		super.bpx(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(Class<?> beanClass, String properties) {
+	public MockRestClientBuilder bpx(Class<?> beanClass, String properties) {
 		super.bpx(beanClass, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient bpx(String beanClassName, String properties) {
+	public MockRestClientBuilder bpx(String beanClassName, String properties) {
 		super.bpx(beanClassName, properties);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient debug() {
+	public MockRestClientBuilder debug() {
 		super.debug();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dictionary(Object...values) {
+	public MockRestClientBuilder dictionary(Object...values) {
 		super.dictionary(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dictionaryOn(Class<?> on, java.lang.Class<?>...values) {
+	public MockRestClientBuilder dictionaryOn(Class<?> on, java.lang.Class<?>...values) {
 		super.dictionaryOn(on, values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnorePropertiesWithoutSetters() {
+	public MockRestClientBuilder dontIgnorePropertiesWithoutSetters() {
 		super.dontIgnorePropertiesWithoutSetters();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnoreTransientFields() {
+	public MockRestClientBuilder dontIgnoreTransientFields() {
 		super.dontIgnoreTransientFields();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontIgnoreUnknownNullBeanProperties() {
+	public MockRestClientBuilder dontIgnoreUnknownNullBeanProperties() {
 		super.dontIgnoreUnknownNullBeanProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient dontUseInterfaceProxies() {
+	public MockRestClientBuilder dontUseInterfaceProxies() {
 		super.dontUseInterfaceProxies();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public <T> MockRestClient example(Class<T> pojoClass, T o) {
+	public <T> MockRestClientBuilder example(Class<T> pojoClass, T o) {
 		super.example(pojoClass, o);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public <T> MockRestClient exampleJson(Class<T> pojoClass, String json) {
+	public <T> MockRestClientBuilder exampleJson(Class<T> pojoClass, String json) {
 		super.exampleJson(pojoClass, json);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient fluentSetters() {
+	public MockRestClientBuilder fluentSetters() {
 		super.fluentSetters();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient fluentSetters(Class<?> on) {
+	public MockRestClientBuilder fluentSetters(Class<?> on) {
 		super.fluentSetters(on);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreInvocationExceptionsOnGetters() {
+	public MockRestClientBuilder ignoreInvocationExceptionsOnGetters() {
 		super.ignoreInvocationExceptionsOnGetters();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreInvocationExceptionsOnSetters() {
+	public MockRestClientBuilder ignoreInvocationExceptionsOnSetters() {
 		super.ignoreInvocationExceptionsOnSetters();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient ignoreUnknownBeanProperties() {
+	public MockRestClientBuilder ignoreUnknownBeanProperties() {
 		super.ignoreUnknownBeanProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient implClass(Class<?> interfaceClass, Class<?> implClass) {
+	public MockRestClientBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
 		super.implClass(interfaceClass, implClass);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient implClasses(Map<Class<?>,Class<?>> values) {
+	public MockRestClientBuilder implClasses(Map<Class<?>,Class<?>> values) {
 		super.implClasses(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient interfaceClass(Class<?> on, Class<?> value) {
+	public MockRestClientBuilder interfaceClass(Class<?> on, Class<?> value) {
 		super.interfaceClass(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient interfaces(java.lang.Class<?>...value) {
+	public MockRestClientBuilder interfaces(java.lang.Class<?>...value) {
 		super.interfaces(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient locale(Locale value) {
+	public MockRestClientBuilder locale(Locale value) {
 		super.locale(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient mediaType(MediaType value) {
+	public MockRestClientBuilder mediaType(MediaType value) {
 		super.mediaType(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient notBeanClasses(Object...values) {
+	public MockRestClientBuilder notBeanClasses(Object...values) {
 		super.notBeanClasses(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient notBeanPackages(Object...values) {
+	public MockRestClientBuilder notBeanPackages(Object...values) {
 		super.notBeanPackages(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
+	public MockRestClientBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
 		super.propertyNamer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) {
+	public MockRestClientBuilder propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) {
 		super.propertyNamer(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient sortProperties() {
+	public MockRestClientBuilder sortProperties() {
 		super.sortProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient sortProperties(java.lang.Class<?>...on) {
+	public MockRestClientBuilder sortProperties(java.lang.Class<?>...on) {
 		super.sortProperties(on);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient stopClass(Class<?> on, Class<?> value) {
+	public MockRestClientBuilder stopClass(Class<?> on, Class<?> value) {
 		super.stopClass(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient swaps(Object...values) {
+	public MockRestClientBuilder swaps(Object...values) {
 		super.swaps(values);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient timeZone(TimeZone value) {
+	public MockRestClientBuilder timeZone(TimeZone value) {
 		super.timeZone(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typeName(Class<?> on, String value) {
+	public MockRestClientBuilder typeName(Class<?> on, String value) {
 		super.typeName(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typePropertyName(String value) {
+	public MockRestClientBuilder typePropertyName(String value) {
 		super.typePropertyName(value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient typePropertyName(Class<?> on, String value) {
+	public MockRestClientBuilder typePropertyName(Class<?> on, String value) {
 		super.typePropertyName(on, value);
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient useEnumNames() {
+	public MockRestClientBuilder useEnumNames() {
 		super.useEnumNames();
 		return this;
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClient useJavaBeanIntrospector() {
+	public MockRestClientBuilder useJavaBeanIntrospector() {
 		super.useJavaBeanIntrospector();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient accept(Object value) {
+	public MockRestClientBuilder accept(Object value) {
 		super.accept(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptCharset(Object value) {
+	public MockRestClientBuilder acceptCharset(Object value) {
 		super.acceptCharset(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptEncoding(Object value) {
+	public MockRestClientBuilder acceptEncoding(Object value) {
 		super.acceptEncoding(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient acceptLanguage(Object value) {
+	public MockRestClientBuilder acceptLanguage(Object value) {
 		super.acceptLanguage(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient addBeanTypes() {
+	public MockRestClientBuilder addBeanTypes() {
 		super.addBeanTypes();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient addRootType() {
+	public MockRestClientBuilder addRootType() {
 		super.addRootType();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient authorization(Object value) {
+	public MockRestClientBuilder authorization(Object value) {
 		super.authorization(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient basicAuth(String host, int port, String user, String pw) {
+	public MockRestClientBuilder basicAuth(String host, int port, String user, String pw) {
 		super.basicAuth(host, port, user, pw);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient cacheControl(Object value) {
+	public MockRestClientBuilder cacheControl(Object value) {
 		super.cacheControl(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient callHandler(Class<? extends org.apache.juneau.rest.client2.RestCallHandler> value) {
+	public MockRestClientBuilder callHandler(Class<? extends org.apache.juneau.rest.client2.RestCallHandler> value) {
 		super.callHandler(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient callHandler(RestCallHandler value) {
+	public MockRestClientBuilder callHandler(RestCallHandler value) {
 		super.callHandler(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient clientVersion(Object value) {
+	public MockRestClientBuilder clientVersion(Object value) {
 		super.clientVersion(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient connection(Object value) {
+	public MockRestClientBuilder connection(Object value) {
 		super.connection(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient contentLength(Object value) {
+	public MockRestClientBuilder contentLength(Object value) {
 		super.contentLength(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient contentType(Object value) {
+	public MockRestClientBuilder contentType(Object value) {
 		super.contentType(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient date(Object value) {
+	public MockRestClientBuilder date(Object value) {
 		super.date(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient debugOutputLines(int value) {
+	public MockRestClientBuilder debugOutputLines(int value) {
 		super.debugOutputLines(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient detectRecursions() {
+	public MockRestClientBuilder detectRecursions() {
 		super.detectRecursions();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient errorCodes(Predicate<Integer> value) {
+	public MockRestClientBuilder errorCodes(Predicate<Integer> value) {
 		super.errorCodes(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient executorService(ExecutorService executorService, boolean shutdownOnClose) {
+	public MockRestClientBuilder executorService(ExecutorService executorService, boolean shutdownOnClose) {
 		super.executorService(executorService, shutdownOnClose);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient expect(Object value) {
+	public MockRestClientBuilder expect(Object value) {
 		super.expect(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(Object...params) {
+	public MockRestClientBuilder formData(Object...params) {
 		super.formData(params);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value) {
+	public MockRestClientBuilder formData(String name, Object value) {
 		super.formData(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value, HttpPartSchema schema) {
+	public MockRestClientBuilder formData(String name, Object value, HttpPartSchema schema) {
 		super.formData(name, value, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formData(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
+	public MockRestClientBuilder formData(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
 		super.formData(name, value, serializer, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient formDataPairs(Object...pairs) {
+	public MockRestClientBuilder formDataPairs(Object...pairs) {
 		super.formDataPairs(pairs);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient forwarded(Object value) {
+	public MockRestClientBuilder forwarded(Object value) {
 		super.forwarded(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient from(Object value) {
+	public MockRestClientBuilder from(Object value) {
 		super.from(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(Object header) {
+	public MockRestClientBuilder header(Object header) {
 		super.header(header);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value) {
+	public MockRestClientBuilder header(String name, Object value) {
 		super.header(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value, HttpPartSchema schema) {
+	public MockRestClientBuilder header(String name, Object value, HttpPartSchema schema) {
 		super.header(name, value, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient header(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
+	public MockRestClientBuilder header(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
 		super.header(name, value, serializer, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient headerPairs(Object...pairs) {
+	public MockRestClientBuilder headerPairs(Object...pairs) {
 		super.headerPairs(pairs);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient headers(Object...headers) {
+	public MockRestClientBuilder headers(Object...headers) {
 		super.headers(headers);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient host(Object value) {
+	public MockRestClientBuilder host(Object value) {
 		super.host(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient html() {
+	public MockRestClientBuilder html() {
 		super.html();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient htmlDoc() {
+	public MockRestClientBuilder htmlDoc() {
 		super.htmlDoc();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient htmlStrippedDoc() {
+	public MockRestClientBuilder htmlStrippedDoc() {
 		super.htmlStrippedDoc();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient httpClient(CloseableHttpClient value) {
+	public MockRestClientBuilder httpClient(CloseableHttpClient value) {
 		super.httpClient(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient httpClientBuilder(HttpClientBuilder value) {
+	public MockRestClientBuilder httpClientBuilder(HttpClientBuilder value) {
 		super.httpClientBuilder(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifMatch(Object value) {
+	public MockRestClientBuilder ifMatch(Object value) {
 		super.ifMatch(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifModifiedSince(Object value) {
+	public MockRestClientBuilder ifModifiedSince(Object value) {
 		super.ifModifiedSince(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifNoneMatch(Object value) {
+	public MockRestClientBuilder ifNoneMatch(Object value) {
 		super.ifNoneMatch(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifRange(Object value) {
+	public MockRestClientBuilder ifRange(Object value) {
 		super.ifRange(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ifUnmodifiedSince(Object value) {
+	public MockRestClientBuilder ifUnmodifiedSince(Object value) {
 		super.ifUnmodifiedSince(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ignoreRecursions() {
+	public MockRestClientBuilder ignoreRecursions() {
 		super.ignoreRecursions();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient initialDepth(int value) {
+	public MockRestClientBuilder initialDepth(int value) {
 		super.initialDepth(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
 	@SuppressWarnings("unchecked")
-	public MockRestClient interceptors(java.lang.Class<? extends org.apache.juneau.rest.client2.RestCallInterceptor>...values) throws Exception{
+	public MockRestClientBuilder interceptors(java.lang.Class<? extends org.apache.juneau.rest.client2.RestCallInterceptor>...values) throws Exception{
 		super.interceptors(values);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient interceptors(RestCallInterceptor...value) {
+	public MockRestClientBuilder interceptors(RestCallInterceptor...value) {
 		super.interceptors(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient json() {
+	public MockRestClientBuilder json() {
 		super.json();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient keepHttpClientOpen() {
+	public MockRestClientBuilder keepHttpClientOpen() {
 		super.keepHttpClientOpen();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient keepNullProperties() {
+	public MockRestClientBuilder keepNullProperties() {
 		super.keepNullProperties();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient leakDetection() {
+	public MockRestClientBuilder leakDetection() {
 		super.leakDetection();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logRequests(DetailLevel detail, Level level) {
+	public MockRestClientBuilder logRequests(DetailLevel detail, Level level) {
 		super.logRequests(detail, level);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logToConsole() {
+	public MockRestClientBuilder logToConsole() {
 		super.logToConsole();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient logger(Logger value) {
+	public MockRestClientBuilder logger(Logger value) {
 		super.logger(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient marshall(Marshall value) {
+	public MockRestClientBuilder marshall(Marshall value) {
 		super.marshall(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient marshalls(Marshall...value) {
+	public MockRestClientBuilder marshalls(Marshall...value) {
 		super.marshalls(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxDepth(int value) {
+	public MockRestClientBuilder maxDepth(int value) {
 		super.maxDepth(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxForwards(Object value) {
+	public MockRestClientBuilder maxForwards(Object value) {
 		super.maxForwards(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient maxIndent(int value) {
+	public MockRestClientBuilder maxIndent(int value) {
 		super.maxIndent(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient msgPack() {
+	public MockRestClientBuilder msgPack() {
 		super.msgPack();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient noTrace() {
+	public MockRestClientBuilder noTrace() {
 		super.noTrace();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient oapiCollectionFormat(HttpPartCollectionFormat value) {
+	public MockRestClientBuilder oapiCollectionFormat(HttpPartCollectionFormat value) {
 		super.oapiCollectionFormat(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient oapiFormat(HttpPartFormat value) {
+	public MockRestClientBuilder oapiFormat(HttpPartFormat value) {
 		super.oapiFormat(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient openApi() {
+	public MockRestClientBuilder openApi() {
 		super.openApi();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient origin(Object value) {
+	public MockRestClientBuilder origin(Object value) {
 		super.origin(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient paramFormat(ParamFormat value) {
+	public MockRestClientBuilder paramFormat(ParamFormat value) {
 		super.paramFormat(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient paramFormatPlain() {
+	public MockRestClientBuilder paramFormatPlain() {
 		super.paramFormatPlain();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parser(Class<? extends org.apache.juneau.parser.Parser> value) {
+	public MockRestClientBuilder parser(Class<? extends org.apache.juneau.parser.Parser> value) {
 		super.parser(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parser(Parser value) {
+	public MockRestClientBuilder parser(Parser value) {
 		super.parser(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
 	@SuppressWarnings("unchecked")
-	public MockRestClient parsers(java.lang.Class<? extends org.apache.juneau.parser.Parser>...value) {
+	public MockRestClientBuilder parsers(java.lang.Class<? extends org.apache.juneau.parser.Parser>...value) {
 		super.parsers(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient parsers(Parser...value) {
+	public MockRestClientBuilder parsers(Parser...value) {
 		super.parsers(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partParser(Class<? extends org.apache.juneau.httppart.HttpPartParser> value) {
+	public MockRestClientBuilder partParser(Class<? extends org.apache.juneau.httppart.HttpPartParser> value) {
 		super.partParser(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partParser(HttpPartParser value) {
+	public MockRestClientBuilder partParser(HttpPartParser value) {
 		super.partParser(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partSerializer(Class<? extends org.apache.juneau.httppart.HttpPartSerializer> value) {
+	public MockRestClientBuilder partSerializer(Class<? extends org.apache.juneau.httppart.HttpPartSerializer> value) {
 		super.partSerializer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient partSerializer(HttpPartSerializer value) {
+	public MockRestClientBuilder partSerializer(HttpPartSerializer value) {
 		super.partSerializer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient plainText() {
+	public MockRestClientBuilder plainText() {
 		super.plainText();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient pooled() {
+	public MockRestClientBuilder pooled() {
 		super.pooled();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient pragma(Object value) {
+	public MockRestClientBuilder pragma(Object value) {
 		super.pragma(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient proxyAuthorization(Object value) {
+	public MockRestClientBuilder proxyAuthorization(Object value) {
 		super.proxyAuthorization(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(Object...params) {
+	public MockRestClientBuilder query(Object...params) {
 		super.query(params);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value) {
+	public MockRestClientBuilder query(String name, Object value) {
 		super.query(name, value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value, HttpPartSchema schema) {
+	public MockRestClientBuilder query(String name, Object value, HttpPartSchema schema) {
 		super.query(name, value, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient query(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
+	public MockRestClientBuilder query(String name, Object value, HttpPartSerializer serializer, HttpPartSchema schema) {
 		super.query(name, value, serializer, schema);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient queryPairs(Object...pairs) {
+	public MockRestClientBuilder queryPairs(Object...pairs) {
 		super.queryPairs(pairs);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient quoteChar(char value) {
+	public MockRestClientBuilder quoteChar(char value) {
 		super.quoteChar(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient range(Object value) {
+	public MockRestClientBuilder range(Object value) {
 		super.range(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient referer(Object value) {
+	public MockRestClientBuilder referer(Object value) {
 		super.referer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient rootUrl(Object value) {
+	public MockRestClientBuilder rootUrl(Object value) {
 		super.rootUrl(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializer(Class<? extends org.apache.juneau.serializer.Serializer> value) {
+	public MockRestClientBuilder serializer(Class<? extends org.apache.juneau.serializer.Serializer> value) {
 		super.serializer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializer(Serializer value) {
+	public MockRestClientBuilder serializer(Serializer value) {
 		super.serializer(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
 	@SuppressWarnings("unchecked")
-	public MockRestClient serializers(java.lang.Class<? extends org.apache.juneau.serializer.Serializer>...value) {
+	public MockRestClientBuilder serializers(java.lang.Class<? extends org.apache.juneau.serializer.Serializer>...value) {
 		super.serializers(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient serializers(Serializer...value) {
+	public MockRestClientBuilder serializers(Serializer...value) {
 		super.serializers(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient simpleJson() {
+	public MockRestClientBuilder simpleJson() {
 		super.simpleJson();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sortCollections() {
+	public MockRestClientBuilder sortCollections() {
 		super.sortCollections();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sortMaps() {
+	public MockRestClientBuilder sortMaps() {
 		super.sortMaps();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient sq() {
+	public MockRestClientBuilder sq() {
 		super.sq();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient strict() {
+	public MockRestClientBuilder strict() {
 		super.strict();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient te(Object value) {
+	public MockRestClientBuilder te(Object value) {
 		super.te(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimEmptyCollections() {
+	public MockRestClientBuilder trimEmptyCollections() {
 		super.trimEmptyCollections();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimEmptyMaps() {
+	public MockRestClientBuilder trimEmptyMaps() {
 		super.trimEmptyMaps();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimStringsOnRead() {
+	public MockRestClientBuilder trimStringsOnRead() {
 		super.trimStringsOnRead();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient trimStringsOnWrite() {
+	public MockRestClientBuilder trimStringsOnWrite() {
 		super.trimStringsOnWrite();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uon() {
+	public MockRestClientBuilder uon() {
 		super.uon();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient upgrade(Object value) {
+	public MockRestClientBuilder upgrade(Object value) {
 		super.upgrade(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriContext(UriContext value) {
+	public MockRestClientBuilder uriContext(UriContext value) {
 		super.uriContext(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriRelativity(UriRelativity value) {
+	public MockRestClientBuilder uriRelativity(UriRelativity value) {
 		super.uriRelativity(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient uriResolution(UriResolution value) {
+	public MockRestClientBuilder uriResolution(UriResolution value) {
 		super.uriResolution(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient urlEnc() {
+	public MockRestClientBuilder urlEnc() {
 		super.urlEnc();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient useWhitespace() {
+	public MockRestClientBuilder useWhitespace() {
 		super.useWhitespace();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient userAgent(Object value) {
+	public MockRestClientBuilder userAgent(Object value) {
 		super.userAgent(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient via(Object value) {
+	public MockRestClientBuilder via(Object value) {
 		super.via(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient warning(Object value) {
+	public MockRestClientBuilder warning(Object value) {
 		super.warning(value);
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient ws() {
+	public MockRestClientBuilder ws() {
 		super.ws();
 		return this;
 	}
 
 	@Override /* GENERATED - RestClientBuilder */
-	public MockRestClient xml() {
+	public MockRestClientBuilder xml() {
 		super.xml();
 		return this;
 	}
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
index 937f58f..89e2acf 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
@@ -261,7 +261,7 @@ public class MockServletRequest implements HttpServletRequest, MockHttpRequest {
 	 * Adds the specified role on this request.
 	 *
 	 * <p>
-	 * Note that {@link MockRest.Builder#roles(String...)} can be used to set the roles for all requests.
+	 * Note that {@link MockRestBuilder#roles(String...)} can be used to set the roles for all requests.
 	 *
 	 * @param role The role to add to this request (e.g. <js>"ROLE_ADMIN"</js>).
 	 * @return This object (for method chaining).
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
index 51e6499..37f85b0 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BasicRestInfoProviderTest.java
@@ -2337,7 +2337,7 @@ public class BasicRestInfoProviderTest {
 		}
 	}
 
-	static MockRest p = MockRest.build(P.class);
+	static MockRestClient p = MockRestClient.build(P.class);
 
 	@Test
 	public void p01_bodyWithReadOnlyProperty() throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
index 6bd1faf..9e8156e 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/BeanContextPropertiesTest.java
@@ -44,7 +44,7 @@ public class BeanContextPropertiesTest  {
 			return "d1="+df.swap(session, d1)+",d2="+df.swap(session, d2)+",d3="+df.swap(session, d3)+"";
 		}
 	}
-	static MockRest a = MockRest.build(A.class);
+	static MockRestClient a = MockRestClient.build(A.class);
 
 	@Test
 	public void a01_testClassTransforms() throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/DebugModeTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/DebugModeTest.java
index ac62cde..151ee1e 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/DebugModeTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/DebugModeTest.java
@@ -113,8 +113,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest a1 = MockRest.buildSimpleJson(A1.class);
-	static MockRest a1d = MockRest.create(A1.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient a1 = MockRestClient.buildSimpleJson(A1.class);
+	static MockRestClient a1d = MockRestClient.create(A1.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void a01_debugDefault() throws Exception {
@@ -188,8 +188,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest a1a = MockRest.buildSimpleJson(A1a.class);
-	static MockRest a1ad = MockRest.create(A1a.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient a1a = MockRestClient.buildSimpleJson(A1a.class);
+	static MockRestClient a1ad = MockRestClient.create(A1a.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void a01a_debugDefault() throws Exception {
@@ -267,8 +267,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest a2 = MockRest.buildSimpleJson(A2.class);
-	static MockRest a2d = MockRest.create(A2.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient a2 = MockRestClient.buildSimpleJson(A2.class);
+	static MockRestClient a2d = MockRestClient.create(A2.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void a02_debugTrue() throws Exception {
@@ -346,8 +346,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest a3 = MockRest.buildSimpleJson(A3.class);
-	static MockRest a3d = MockRest.create(A3.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient a3 = MockRestClient.buildSimpleJson(A3.class);
+	static MockRestClient a3d = MockRestClient.create(A3.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void a03_restDebugFalse() throws Exception {
@@ -425,8 +425,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest a4 = MockRest.buildSimpleJson(A4.class);
-	static MockRest a4d = MockRest.create(A4.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient a4 = MockRestClient.buildSimpleJson(A4.class);
+	static MockRestClient a4d = MockRestClient.create(A4.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void a04_debugPerRequest() throws Exception {
@@ -486,7 +486,7 @@ public class DebugModeTest {
 			LOGGER.log(config, req, res);
 		}
 	}
-	static MockRest b1 = MockRest.buildSimpleJson(B1.class);
+	static MockRestClient b1 = MockRestClient.buildSimpleJson(B1.class);
 
 	@Test
 	public void b01_debugDefault() throws Exception {
@@ -512,7 +512,7 @@ public class DebugModeTest {
 			LOGGER.log(config, req, res);
 		}
 	}
-	static MockRest b2 = MockRest.buildSimpleJson(B2.class);
+	static MockRestClient b2 = MockRestClient.buildSimpleJson(B2.class);
 
 	@Test
 	public void b02_debugDefault() throws Exception {
@@ -700,8 +700,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest c1 = MockRest.buildSimpleJson(C1.class);
-	static MockRest c1d = MockRest.create(C1.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient c1 = MockRestClient.buildSimpleJson(C1.class);
+	static MockRestClient c1d = MockRestClient.create(C1.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void c01_debugDefault() throws Exception {
@@ -1034,8 +1034,8 @@ public class DebugModeTest {
 			return req.isDebug();
 		}
 	}
-	static MockRest c2 = MockRest.buildSimpleJson(C2.class);
-	static MockRest c2d = MockRest.create(C2.class).simpleJson().header("X-Debug", true).build();
+	static MockRestClient c2 = MockRestClient.buildSimpleJson(C2.class);
+	static MockRestClient c2d = MockRestClient.create(C2.class).simpleJson().header("X-Debug", true).build();
 
 	@Test
 	public void c02_debugTrue() throws Exception {
diff --git a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
index fc7b05d..ec52440 100644
--- a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
+++ b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/NlsTest.java
@@ -47,7 +47,7 @@ public class NlsTest {
 			return null;
 		}
 	}
-	static MockRest a = MockRest.build(A.class);
+	static MockRestClient a = MockRestClient.build(A.class);
 
 	public static class A01 extends WriterSerializer {
 		public A01(PropertyStore ps) {
@@ -86,7 +86,7 @@ public class NlsTest {
 			return req.getSwagger();
 		}
 	}
-	static MockRest b = MockRest.build(B.class);
+	static MockRestClient b = MockRestClient.build(B.class);
 
 	@Test
 	public void b01_optionsPageWithoutNls() throws Exception {
@@ -105,7 +105,7 @@ public class NlsTest {
 			return req.getMessage("bad", 1, 2, 3);
 		}
 	}
-	static MockRest c = MockRest.build(C.class);
+	static MockRestClient c = MockRestClient.build(C.class);
 
 	@Test
 	public void c01_missingResourceBundle() throws Exception {