juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [juneau-website] branch asf-site updated: Update javadocs.
Date Wed, 07 Feb 2018 03:15:22 GMT
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 1e45c4e  Update javadocs.
1e45c4e is described below

commit 1e45c4e00bd4baa048ac12995c27e450cc8b158d
Author: JamesBognar <jamesbognar@apache.org>
AuthorDate: Tue Feb 6 22:15:18 2018 -0500

    Update javadocs.
---
 .../MicroserviceServer.Building.1.png}             |  Bin
 .../MicroserviceServer.Building.2.png}             |  Bin
 .../doc-files/MicroserviceServer.Installing.1.png  |  Bin 0 -> 156973 bytes
 .../doc-files/MicroserviceServer.Installing.2.png  |  Bin 0 -> 78192 bytes
 .../MicroserviceServer.Installing.3.png}           |  Bin
 .../doc-files/MicroserviceServer.Installing.6.png  |  Bin 0 -> 82468 bytes
 .../MicroserviceServer.ResourceClasses.1.png       |  Bin 0 -> 58659 bytes
 .../org/apache/juneau/microservice/Resource.html   |    9 +-
 .../apache/juneau/microservice/ResourceGroup.html  |    9 +-
 .../juneau/microservice/doc-files/helloworld1.png  |  Bin 14050 -> 0 bytes
 .../microservice/doc-files/instructions1.png       |  Bin 44658 -> 0 bytes
 .../microservice/doc-files/instructions2.png       |  Bin 54971 -> 0 bytes
 .../microservice/doc-files/instructions4.png       |  Bin 28672 -> 0 bytes
 .../microservice/doc-files/instructions5.png       |  Bin 8894 -> 0 bytes
 .../microservice/doc-files/instructions6.png       |  Bin 22345 -> 0 bytes
 .../juneau/microservice/doc-files/manifest1.png    |  Bin 10493 -> 0 bytes
 .../juneau/microservice/package-summary.html       |  971 +---
 .../org/apache/juneau/rest/RestServletDefault.html |    7 +-
 .../apache/juneau/rest/client/ResponsePattern.html |    4 +-
 .../org/apache/juneau/rest/client/RestCall.html    |   25 +-
 .../org/apache/juneau/rest/client/RestClient.html  |   90 +-
 .../juneau/rest/client/RestClientBuilder.html      |  419 +-
 .../apache/juneau/rest/client/package-summary.html |  922 +---
 .../apache/juneau/rest/client/package-tree.html    |    4 +-
 .../apache/juneau/rest/jaxrs/package-summary.html  |   98 +-
 content/site/apidocs/overview-summary.html         | 2234 +++++++--
 content/site/apidocs/overview-tree.html            |    4 +-
 content/site/apidocs/resources/juneau-code.css     |    2 +-
 content/site/apidocs/resources/juneau-doc.css      |   51 +-
 .../org/apache/juneau/microservice/Resource.html   |   49 +-
 .../apache/juneau/microservice/ResourceGroup.html  |   49 +-
 .../org/apache/juneau/rest/RestServletDefault.html |   73 +-
 .../juneau/rest/RestServletGroupDefault.html       |    2 +-
 .../apache/juneau/rest/client/ResponsePattern.html |    4 +-
 .../org/apache/juneau/rest/client/RestCall.html    |   63 +-
 .../org/apache/juneau/rest/client/RestClient.html  | 2211 +++++----
 .../juneau/rest/client/RestClientBuilder.html      | 4987 ++++++++++----------
 37 files changed, 5997 insertions(+), 6290 deletions(-)

diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/build1.png b/content/site/apidocs/doc-files/MicroserviceServer.Building.1.png
similarity index 100%
rename from content/site/apidocs/org/apache/juneau/microservice/doc-files/build1.png
rename to content/site/apidocs/doc-files/MicroserviceServer.Building.1.png
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/build2.png b/content/site/apidocs/doc-files/MicroserviceServer.Building.2.png
similarity index 100%
rename from content/site/apidocs/org/apache/juneau/microservice/doc-files/build2.png
rename to content/site/apidocs/doc-files/MicroserviceServer.Building.2.png
diff --git a/content/site/apidocs/doc-files/MicroserviceServer.Installing.1.png b/content/site/apidocs/doc-files/MicroserviceServer.Installing.1.png
new file mode 100644
index 0000000..4ea5cec
Binary files /dev/null and b/content/site/apidocs/doc-files/MicroserviceServer.Installing.1.png differ
diff --git a/content/site/apidocs/doc-files/MicroserviceServer.Installing.2.png b/content/site/apidocs/doc-files/MicroserviceServer.Installing.2.png
new file mode 100644
index 0000000..9caeff9
Binary files /dev/null and b/content/site/apidocs/doc-files/MicroserviceServer.Installing.2.png differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions3.png b/content/site/apidocs/doc-files/MicroserviceServer.Installing.3.png
similarity index 100%
rename from content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions3.png
rename to content/site/apidocs/doc-files/MicroserviceServer.Installing.3.png
diff --git a/content/site/apidocs/doc-files/MicroserviceServer.Installing.6.png b/content/site/apidocs/doc-files/MicroserviceServer.Installing.6.png
new file mode 100644
index 0000000..b74fd98
Binary files /dev/null and b/content/site/apidocs/doc-files/MicroserviceServer.Installing.6.png differ
diff --git a/content/site/apidocs/doc-files/MicroserviceServer.ResourceClasses.1.png b/content/site/apidocs/doc-files/MicroserviceServer.ResourceClasses.1.png
new file mode 100644
index 0000000..6a48f57
Binary files /dev/null and b/content/site/apidocs/doc-files/MicroserviceServer.ResourceClasses.1.png differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/Resource.html b/content/site/apidocs/org/apache/juneau/microservice/Resource.html
index b2e83a0..10f36de 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/Resource.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/Resource.html
@@ -136,9 +136,8 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
-              <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.56">Resource</a>
+<pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.47">Resource</a>
 extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest">RestServletDefault</a></pre>
 <div class="block">Superclass for all REST resources.
  
@@ -263,7 +262,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Resource</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.56">Resource</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.47">Resource</a>()</pre>
 </li>
 </ul>
 </li>
@@ -281,7 +280,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletDefault.html" tit
 <li class="blockList">
 <h4>addConfigVars</h4>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation">@RestHook</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestHook.html#value--">value</a>=<a href="../../../../org/apache/juneau/rest/annotation/HookEvent.html#INIT">INIT</a>)
-public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.65">addConfigVars</a>(<a href="../../../../org/apache/juneau/rest/RestContextBuilder.html" title="class in org.apache.juneau.rest">RestContextBuilder</a>&nbsp;builder)
+public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/Resource.html#line.56">addConfigVars</a>(<a href="../../../../org/apache/juneau/rest/RestContextBuilder.html" title="class in org.apache.juneau.rest">RestContextBuilder</a>&nbsp;builder)
                                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Add <code>$ARGS</code> and <code>$MF</code> variable resolvers.</div>
 <dl>
diff --git a/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html b/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
index 34f914c..15d7641 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/ResourceGroup.html
@@ -141,9 +141,8 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
-              <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}")
-public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.57">ResourceGroup</a>
+<pre><a href="../../../../org/apache/juneau/rest/annotation/RestResource.html" title="annotation in org.apache.juneau.rest.annotation">@RestResource</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.48">ResourceGroup</a>
 extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html" title="class in org.apache.juneau.rest">RestServletGroupDefault</a></pre>
 <div class="block">Superclass for all REST resource groups.
  
@@ -276,7 +275,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ResourceGroup</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.57">ResourceGroup</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.48">ResourceGroup</a>()</pre>
 </li>
 </ul>
 </li>
@@ -294,7 +293,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServletGroupDefault.html
 <li class="blockList">
 <h4>addConfigVars</h4>
 <pre><a href="../../../../org/apache/juneau/rest/annotation/RestHook.html" title="annotation in org.apache.juneau.rest.annotation">@RestHook</a>(<a href="../../../../org/apache/juneau/rest/annotation/RestHook.html#value--">value</a>=<a href="../../../../org/apache/juneau/rest/annotation/HookEvent.html#INIT">INIT</a>)
-public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.66">addConfigVars</a>(<a href="../../../../org/apache/juneau/rest/RestContextBuilder.html" title="class in org.apache.juneau.rest">RestContextBuilder</a>&nbsp;builder)
+public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/juneau/microservice/ResourceGroup.html#line.57">addConfigVars</a>(<a href="../../../../org/apache/juneau/rest/RestContextBuilder.html" title="class in org.apache.juneau.rest">RestContextBuilder</a>&nbsp;builder)
                                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Initializes the registry URL and rest clent.</div>
 <dl>
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/helloworld1.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/helloworld1.png
deleted file mode 100644
index f5f0c7c..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/helloworld1.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions1.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions1.png
deleted file mode 100644
index 1234828..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions1.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions2.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions2.png
deleted file mode 100644
index 4589f19..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions2.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions4.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions4.png
deleted file mode 100644
index b5e8471..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions4.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions5.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions5.png
deleted file mode 100644
index 50504de..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions5.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions6.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions6.png
deleted file mode 100644
index e730d32..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/instructions6.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/doc-files/manifest1.png b/content/site/apidocs/org/apache/juneau/microservice/doc-files/manifest1.png
deleted file mode 100644
index 77604c1..0000000
Binary files a/content/site/apidocs/org/apache/juneau/microservice/doc-files/manifest1.png and /dev/null differ
diff --git a/content/site/apidocs/org/apache/juneau/microservice/package-summary.html b/content/site/apidocs/org/apache/juneau/microservice/package-summary.html
index 19a7d1e..312a0b6 100644
--- a/content/site/apidocs/org/apache/juneau/microservice/package-summary.html
+++ b/content/site/apidocs/org/apache/juneau/microservice/package-summary.html
@@ -135,976 +135,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.juneau.microservice Description">Package org.apache.juneau.microservice Description</h2>
-<div class="block"><p>Microservice API</p>
-
-<script>
-   function toggle(x) {
-      var div = x.nextSibling;
-      while (div != null && div.nodeType != 1)
-         div = div.nextSibling;
-      if (div != null) {
-         var d = div.style.display;
-         if (d == 'block' || d == '') {
-            div.style.display = 'none';
-            x.className += " closed";
-         } else {
-            div.style.display = 'block';
-            x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-         }
-      }
-   }
-</script>
-
-<a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
-<ol class='toc'>
-   <li><p><a class='doclink' href='#Introduction'>Microservice Introduction</a></p> 
-   <li><p><a class='doclink' href='#GettingStarted'>Getting Started</a></p> 
-   <ol>
-      <li><p><a class='doclink' href='#GettingStarted_Installing'>Installing in Eclipse</a></p> 
-      <li><p><a class='doclink' href='#GettingStarted_Running'>Running in Eclipse</a></p> 
-      <li><p><a class='doclink' href='#GettingStarted_Building'>Building and Running from Command-Line</a></p> 
-   </ol> 
-   <li><p><a class='doclink' href='#Manifest'>Manifest File</a></p> 
-   <ol>
-      <li><p><a class='doclink' href='#Manifest_API'>Manifest API</a></p> 
-   </ol>
-   <li><p><a class='doclink' href='#ConfigFile'>Config File</a></p>
-   <ol>
-      <li><p><a class='doclink' href='#ConfigFile_API'>Config File API</a></p>
-   </ol> 
-   <li><p><a class='doclink' href='#ResourceClasses'>Resource Classes</a></p> 
-   <li><p><a class='doclink' href='#RestMicroservice'>RestMicroservice</a></p>
-   <ol> 
-      <li><p><a class='doclink' href='#RestMicroservice_Extending'>Extending RestMicroservice</a></p>
-   </ol>
-</ol>
-
-<!-- ======================================================================================================== -->
-<a id="Introduction"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - Microservice Introduction</h2>
-<div class='topic'>
-   <p>
-      The Juneau Cloud Microservice is an API for creating stand-alone executable jars that can be used to 
-      start lightweight configurable REST interfaces with all the power of the Juneau REST server and client APIs.
-   </p>
-   <p>
-      The Microservice API consists of a combination of the Juneau Core, Server, and Client APIs and an embedded
-      Eclipse Jetty Servlet Container.  It includes all libraries needed to execute in a Java 1.6+ environment.
-   </p>
-   <p>
-      Features include:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         An out-of-the-box zipped Eclipse project to get started quickly.
-      <li>
-         Packaged as a simple executable jar and configuration file.
-      <li>
-         All the power of the Juneau Cloud Tools for defining REST servlets and clients with the ability to 
-         serialize and parse POJOs as HTML, JSON, XML, RDF, URL-Encoding, and others.
-      <li>
-         An extensible API that allows you to hook into various lifecycle events.
-      <li>
-         Simple-to-use APIs for accessing manifest file entries, command-line arguments, and external configuration 
-         file properties.
-      <li>
-         Predefined REST resources for configuring microservice and accessing log files.
-   </ul>
-</div>
-
-<!-- ======================================================================================================== -->
-<a id="GettingStarted"></a>
-<h2 class='topic' onclick='toggle(this)'>2 - Getting Started</h2>
-<div class='topic'>
-   <p>
-      The <l>microservice-project.zip</l> file is a zipped eclipse project that includes everything you 
-      need to create a REST microservice in an Eclipse workspace.
-   </p>  
-      
-   <!-- ======================================================================================================== -->
-   <a id="GettingStarted_Installing"></a>
-   <h3 class='topic' onclick='toggle(this)'>2.1 - Installing in Eclipse</h3>
-   <div class='topic'>
-      <p>
-         Follow these instructions to create a new template project in Eclipse.
-      </p>     
-      <ol class='spaced-list'>
-         <li>
-            Download the latest microservice-project zip file (e.g. <l>microservice-project-5.2.zip</l>).
-         <li>
-            In your Eclipse workspace, go to <b>File-&gt;Import-&gt;General-&gt;Existing Projects into Workspace</b> 
-            and click <b>Next</b>.
-            <br><br>
-            <img class='bordered' src="doc-files/instructions1.png">
-         <li>
-            Select the zip file and click <b>Finish</b>.
-            <br><br>
-            <img class='bordered' src="doc-files/instructions2.png">
-         <li>
-            In your workspace, you should now see the following project:
-            <br><br>
-            <img class='bordered' src="doc-files/instructions3.png">
-      </ol>
-      <p>
-         The important elements in this project are:
-      </p>
-      <ul class='spaced-list'>
-         <li>
-            <l>META-INF/MANIFEST.MF</l> - The manifest file.  
-            <br>This defines the entry point, classpath, top-level REST resources, and location of external 
-            configuration file. 
-            <br><br>
-            <p class='bcode'>
-   <mk>Main-Class</mk>: org.apache.juneau.microservice.RestMicroservice
-   <mk>Rest-Resources</mk>: 
-    org.apache.juneau.microservice.sample.RootResources
-   <mk>Main-ConfigFile</mk>: microservice.cfg
-   <mk>Class-Path</mk>: 
-    lib/commons-codec-1.9.jar 
-    lib/commons-io-1.2.jar 
-    lib/commons-logging-1.1.1.jar 
-    lib/httpclient-4.5.jar 
-    lib/httpcore-4.4.1.jar 
-    lib/httpmime-4.5.jar 
-    lib/javax.servlet-api-3.0.jar 
-    lib/jetty-all-8.1.0.jar 
-    lib/juneau-all-5.2.jar 
-    lib/org.apache.commons.fileupload_1.3.1.jar
-            </p>
-         <li>
-            <l>RestMicroservice.java</l> - The application class. 
-            <br>This is a specialized microservice in Juneau for exposing REST servlets.
-         <li>
-            <l>RootResources.java</l> - The top-level REST resource. 
-            <br>This class routes HTTP requests to child resources:
-            <br><br>
-            <p class='bcode'>
-   <jd>/**
-    * Root microservice page.
-    */</jd>
-   <ja>@RestResource</ja>(
-      path=<js>"/"</js>,
-      title=<js>"Juneau Microservice Template"</js>,
-      description=<js>"Template for creating REST microservices"</js>,
-      properties={
-         <ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, value=<js>"{options:'?method=OPTIONS'}"</js>)
-      },
-      children={
-         HelloWorldResource.<jk>class</jk>,
-         ConfigResource.<jk>class</jk>,
-         LogsResource.<jk>class</jk>
-      }
-   )
-   <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
-      <jc>// No actual code!</jc>
-   }     
-            </p>
-         <li>
-            <l>microservice.cfg</l> - The external configuration file. 
-            <br>A deceivingly simple yet powerful INI-style configuration file:
-            <br><br>
-            <p class='bcode'>
-   <cc>#================================================================================
-   # Basic configuration file for SaaS microservices
-   # Subprojects can use this as a starting point.
-   #================================================================================</cc>
-   
-   <cc>#================================================================================
-   # REST settings
-   #================================================================================</cc>
-   <cs>[REST]</cs>
-   
-   <cc># The HTTP port number to use.
-   # Default is Rest-Port setting in manifest file, or 8000.</cc>
-   <ck>port</ck> = <cv>10000</cv>
-   ...
-            </p>
-            
-      </ul>
-      <p>
-         At this point, you're ready to start the microservice from your workspace.
-      </p>
-   </div>
-
-   <!-- ======================================================================================================== -->
-   <a id="GettingStarted_Running"></a>
-   <h3 class='topic' onclick='toggle(this)'>2.2 - Running in Eclipse</h3>
-   <div class='topic'>
-      <p>
-         The <l>microservice-project.launch</l> file is already provided to allow you to quickly start
-         your new microservice.
-      </p>
-      <p>
-         Go to <b>Run-&gt;Run Configurations-&gt;Java Application-&gt;microservice-project</b> and click <b>Run</b>.
-      </p>
-      <img class='bordered' src="doc-files/instructions4.png">
-      <p>
-         In your console view, you should see the following output:
-      </p>
-      <img class='bordered' src="doc-files/instructions5.png">
-      <p>
-         Now open your browser and point to <l>http://localhost:10000</l>.  
-         You should see the following:
-      </p>
-      <img class='bordered' src="doc-files/instructions6.png">
-      <p>
-         You have started a REST interface on port 10000.
-      </p>
-   </div>
-
-   <!-- ======================================================================================================== -->
-   <a id="GettingStarted_Building"></a>
-   <h3 class='topic' onclick='toggle(this)'>2.3 - Building and Running from Command Line</h3>
-   <div class='topic'>
-      <p>
-         The <l>build.xml</l> file is a very basic ANT script for creating your microservice
-         as an executable jar.
-      </p>
-      <p>
-         To build your microservice, right-click on <l>build.xml</l> and select <b>Run As-&gt;Ant Build</b>.
-         Once complete (which should only take about 1 second), if you refresh your project, you should see the 
-         following new directory:
-      </p>
-      <img class='bordered' src='doc-files/build1.png'>
-      <p>
-         If you open up a command prompt in the <l>build/microservice</l> folder, you can start your microservice as 
-         follows:
-      </p>
-      <img class='bordered' src='doc-files/build2.png'>
-      <p>
-         If you get this error message: <code class='snippet'>java.net.BindException: Address already in use</code>, 
-         then this microservice is already running elsewhere and so it cannot bind to port 10000.
-      </p>
-   </div>
-</div>
-
-
-<!-- ======================================================================================================== -->
-<a id="Manifest"></a>
-<h2 class='topic' onclick='toggle(this)'>3 - Manifest File</h2>
-<div class='topic'>
-   <p>
-      The <l>META-INF/MANIFEST.MF</l> file is used to describe the microservice. 
-      If you open it, you'll see the following:
-   </p>
-   <p class='bcode'>
-   <mk>Main-Class</mk>: <mv>org.apache.juneau.microservice.RestMicroservice</mv>
-   <mk>Rest-Resources</mk>: 
-    <mv>org.apache.juneau.microservice.sample.RootResources</mv>
-   <mk>Main-ConfigFile</mk>: <mv>microservice.cfg</mv>
-   <mk>Class-Path</mk>: 
-    <mv>lib/commons-codec-1.9.jar 
-    lib/commons-io-1.2.jar 
-    lib/commons-logging-1.1.1.jar 
-    lib/httpclient-4.5.jar 
-    lib/httpcore-4.4.1.jar 
-    lib/httpmime-4.5.jar 
-    lib/javax.servlet-api-3.0.jar 
-    lib/jetty-all-8.1.0.jar 
-    lib/juneau-all-5.2.jar 
-    lib/org.apache.commons.fileupload_1.3.1.jar</mv>
-   </p>
-   <p>
-      The <mk>Main-Class</mk> entry is the standard manifest entry describing the entry point for the executable jar.
-      In most cases, this value will always be <l>org.apache.juneau.microservice.RestMicroservice</l>.
-      However, it is possible to extend this class or implement your own microservice, in which case you'll need
-      to modify this value to point to the new class.
-   </p>
-   <p>
-      The <mk>Rest-Resources</mk> entry is a comma-delimited list of REST resources.
-      These are classes that subclass from either <a href="../../../../org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> or 
-      <a href="../../../../org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a>.
-      This is a specialized entry when using <l>org.apache.juneau.microservice.RestMicroservice</l>.
-      In most cases, you'll want to specify a single top-level "grouping" REST resource mapped to <l>"/"</l> that 
-      extends from <a href="../../../../org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a> so that you can define multiple child 
-      resources.
-      In this case, we're pointing to a resource defined in our project: 
-      <l>org.apache.juneau.microservice.sample.RootResources</l>.
-   </p>
-   <p>
-      The <mk>Main-ConfigFile</mk> entry points to the location of an external configuration file for our microservice.
-   </p>     
-   <p>
-      The <mk>Class-Path</mk> entry is the standard manifest file entry.
-      However, if you need to add extra libraries to your microservice, you'll need to copy them into your <l>lib</l> 
-      directory and add them to the classpath here.
-   </p>
-   <p>
-      Other manifest file entries are also provided:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         <mk>Rest-Port</mk> - The HTTP port to use.  Default is <l>10000</l>.
-      <li>
-         <mk>Rest-ContextPath</mk> - The servlet context path.  Default is <l>"/"</l>.
-      <li>
-         <mk>Rest-AuthType</mk> - Authentication support.
-         <br>Possible values are <l>"NONE"</l> and <l>"BASIC"</l>.
-         <br>Default is <l>"NONE"</l>.
-         <br>Used with the following additional settings:
-         <ul>
-            <li><mk>Rest-LoginUser</mk>
-            <li><mk>Rest-LoginPassword</mk>
-            <li><mk>Rest-AuthRealm</mk>
-         </ul>
-   </ul>
-   <p>
-      In addition to these predefined manifest entries, you can add your own particular entries to the manifest file
-      and access them through the Manifest API described next. 
-   </p>
-   
-   <!-- ======================================================================================================== -->
-   <a id="Manifest_API"></a>
-   <h3 class='topic' onclick='toggle(this)'>3.1 - Manifest API</h3>
-   <div class='topic'>
-      <p>
-         The <a href="../../../../org/apache/juneau/microservice/Microservice.html#getManifest--"><code>Microservice.getManifest()</code></a> method is a static method that
-         can be used to retrieve the manifest file as an <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>.  
-      </p>
-      <p class='bcode'>
-   <jc>// Get Main-Class from manifest file.</jc>
-   String mainClass = Microservice.<jsm>getManifest</jsm>().getString(<js>"Main-Class"</js>, <js>"unknown"</js>);
-    
-   <jc>// Get Rest-Resources from manifest file.</jc>
-   String[] restResources = Microservice.<jsm>getManifest</jsm>().getStringArray(<js>"Rest-Resources"</js>);
-      </p>
-      <p>
-         Since this method returns an <a href="../../../../org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>, it's possible to retrieve entries as a 
-         wide variety of object types such as java primitives, arrays, collections, maps, or even POJOs serialized 
-         as JSON.
-      </p>
-   </div>
-</div>
-
-<!-- ======================================================================================================== -->
-<a id="ConfigFile"></a>
-<h2 class='topic' onclick='toggle(this)'>4 - Config File</h2>
-<div class='topic'>
-   <p>
-      The microservice config file is an external INI-style configuration file that is used to configure
-      your microservice.
-   </p>
-   <p>
-      If you open the <l>microservice.cfg</l> file, you'll see several predefined sections and settings.
-   </p>
-   <p class='bcode'>
-   <cc>#================================================================================
-   # Basic configuration file for SaaS microservices
-   # Subprojects can use this as a starting point.
-   #================================================================================</cc>
-   
-   <cc>#================================================================================
-   # REST settings
-   #================================================================================</cc>
-   <cs>[REST]</cs>
-   
-   <cc># The HTTP port number to use.
-   # Can be a comma-delimited list of ports to try.
-   # 0 means try a random port.
-   # Default is Rest-Port setting in manifest file, or 8000.</cc>
-   <ck>port</ck> = <cv>10000</cv>
-   
-   <cc># A JSON map of servlet paths to servlet classes.
-   # Example:  
-   #  resourceMap = {'/*':'com.foo.MyServlet'}
-   # Either resourceMap or resources must be specified.</cc>
-   <ck>resourceMap</ck> = 
-
-   <cc># A comma-delimited list of names of classes that extend from Servlet.
-   # Resource paths are pulled from @RestResource.path() annotation, or
-   #  "/*" if annotation not specified.
-   # Example:  
-   #  resources = com.foo.MyServlet
-   # Default is Rest-Resources in manifest file.
-   # Either resourceMap or resources must be specified.</cc>
-   <ck>resources</ck> = 
-
-   <cc># The context root of the Jetty server.
-   # Default is Rest-ContextPath in manifest file, or "/".</cc>
-   <ck>contextPath</ck> = 
-
-   <cc># Authentication:  NONE, BASIC.</cc>
-   <ck>authType</ck> = <cv>NONE</cv>
-   
-   <cc># The BASIC auth username.
-   # Default is Rest-LoginUser in manifest file.</cc>
-   <ck>loginUser</ck> = 
-   
-   <cc># The BASIC auth password.
-   # Default is Rest-LoginPassword in manifest file.</cc>
-   <ck>loginPassword</ck> = 
-   
-   <cc># The BASIC auth realm.
-   # Default is Rest-AuthRealm in manifest file.</cc>
-   <ck>authRealm</ck> = 
-   
-   <cc># Stylesheet to use for HTML views.
-   # The default options are:
-   #  - styles/juneau.css
-   #  - styles/devops.css
-   # Other stylesheets can be referenced relative to the servlet package or working
-   #  directory.</cc>
-   <ck>stylesheet</ck> = <cv>styles/devops.css</cv>
-   
-   <cc># What to do when the config file is saved.
-   # Possible values:
-   #  NOTHING - Don't do anything. 
-   #  RESTART_SERVER - Restart the Jetty server.
-   #  RESTART_SERVICE - Shutdown and exit with code '3'.</cc>
-   <ck>saveConfigAction</ck> = <cv>RESTART_SERVER</cv>
-   
-   <cc># Enable SSL support.</cc>
-   <ck>useSsl</ck> = <cv>false</cv>
-   
-   <cc>#================================================================================
-   # Bean properties on the org.eclipse.jetty.util.ssl.SslSocketFactory class
-   #--------------------------------------------------------------------------------
-   # Ignored if REST/useSsl is false.
-   #================================================================================</cc>
-   <cs>[REST-SslContextFactory]</cs>
-   <ck>keyStorePath</ck> = <cv>client_keystore.jks</cv>
-   <ck>keyStorePassword*</ck> = <cv>{HRAaRQoT}</cv>
-   <ck>excludeCipherSuites</ck> = <cv>TLS_DHE.*, TLS_EDH.*</cv>
-   <ck>excludeProtocols</ck> = <cv>SSLv3</cv>
-   <ck>allowRenegotiate</ck> = <cv>false</cv>
-   
-   <cc>#================================================================================
-   # Logger settings
-   # See FileHandler Java class for details.
-   #================================================================================</cc>
-   <cs>[Logging]</cs>
-
-   <cc># The directory where to create the log file.
-   # Default is "."</cc>
-   <ck>logDir</ck> = <cv>logs</cv>
-   
-   <cc># The name of the log file to create for the main logger.
-   # The logDir and logFile make up the pattern that's passed to the FileHandler
-   # constructor.
-   # If value is not specified, then logging to a file will not be set up.</cc>
-   <ck>logFile</ck> = <cv>microservice.%g.log</cv>
-   
-   <cc># Whether to append to the existing log file or create a new one.
-   # Default is false.</cc>
-   <ck>append</ck> = 
-   
-   <cc># The SimpleDateFormat format to use for dates.
-   # Default is "yyyy.MM.dd hh:mm:ss".</cc>
-   <ck>dateFormat</ck> = 
-   
-   <cc># The log message format.
-   # The value can contain any of the following variables:
-   #  {date} - The date, formatted per dateFormat.
-   #  {class} - The class name.
-   #  {method} - The method name.
-   #  {logger} - The logger name.
-   #  {level} - The log level name.
-   #  {msg} - The log message.
-   #  {threadid} - The thread ID.
-   #  {exception} - The localized exception message.
-   # Default is "[{date} {level}] {msg}%n".</cc>
-   <ck>format</ck> =
-   
-   <cc># The maximum log file size.
-   # Suffixes available for numbers.
-   # See ConfigFile.getInt(String,int) for details.
-   # Default is 1M.</cc>
-   <ck>limit</ck> = <cv>10M</cv>
-   
-   <cc># Max number of log files.
-   # Default is 1.</cc>
-   <ck>count</ck> = <cv>5</cv>
-   
-   <cc># Default log levels.
-   # Keys are logger names.
-   # Values are serialized Level POJOs.</cc>
-   <ck>levels</ck> = <cv>{ org.apache.juneau:'INFO' }</cv>
-   
-   <cc># Only print unique stack traces once and then refer to them by a simple 8 character hash identifier.
-   # Useful for preventing log files from filling up with duplicate stack traces.
-   # Default is false.</cc>
-   <ck>useStackTraceHashes</ck> = <cv>true</cv>
-   
-   <cc># The default level for the console logger.
-   # Default is WARNING.</cc>
-   <ck>consoleLevel</ck> = 
-   
-   <cc>#================================================================================
-   # System properties
-   #--------------------------------------------------------------------------------
-   # These are arbitrary system properties that are set during startup.
-   #================================================================================</cc>
-   <cs>[SystemProperties]</cs>
-   
-   <cc># Configure Jetty for StdErrLog Logging</cc>
-   <ck>org.eclipse.jetty.util.log.class</ck> = <cv>org.eclipse.jetty.util.log.StrErrLog</cv>
-   
-   <cc># Jetty logging level</cc>
-   <ck>org.eclipse.jetty.LEVEL</ck> = <cv>WARN</cv>      
-   </p>
-   <ul class='doctree'>
-      <li class='info'>
-         The predefined config file includes all settings for instructional purposes. 
-         In your microservice, you can remove all lines from your config file that have default values.
-   </ul>
-   <p>
-      Although the config file looks deceptively simple, the config file API is a very powerful feature with many 
-      capabilities, including:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         The ability to use variables to reference environment variables, system properties, other config file 
-         entries, and a host of other types.
-      <li>
-         The ability to store and retrieve POJOs as JSON.
-      <li>
-         APIs for updating, modifying, and saving configuration files without losing comments or formatting.
-      <li>
-         Extensive listener APIs.
-   </ul>
-   
-   <h5 class='topic'>Examples:</h5>
-   <p class='bcode'>
-   <cc>#--------------------------</cc>
-   <cc># My section</cc>
-   <cc>#--------------------------</cc>
-   <cs>[MySection]</cs>
-   
-   <cc># An integer</cc>
-   <ck>anInt</ck> = <cv>1 </cv>
-   
-   <cc># A boolean</cc>
-   <ck>aBoolean</ck> = <cv>true </cv>
-   
-   <cc># An int array</cc>
-   <ck>anIntArray</ck> = <cv>1,2,3 </cv>
-   
-   <cc># A POJO that can be converted from a String</cc>
-   <ck>aURL</ck> = <cv>http://foo </cv>
-   
-   <cc># An encoded password</cc>
-   <ck>aPassword*</ck> = <cv>{HRAaRQoT}</cv>
-
-   <cc># A POJO that can be converted from JSON</cc>
-   <ck>aBean</ck> = <cv>{foo:'bar',baz:123}</cv>
-   
-   <cc># A system property</cc>
-   <ck>locale</ck> = <cv>$S{java.locale, en_US}</cv>
-   
-   <cc># An environment variable</cc>
-   <ck>path</ck> = <cv>$E{PATH, unknown}</cv>
-   
-   <cc># A manifest file entry</cc>
-   <ck>mainClass</ck> = <cv>$MF{Main-Class}</cv>
-   
-   <cc># Another value in this config file</cc>
-   <ck>sameAsAnInt</ck> = <cv>$C{MySection/anInt}</cv>
-   
-   <cc># A command-line argument in the form "myarg=foo"</cc>
-   <ck>myArg</ck> = <cv>$ARG{myarg}</cv>
-   
-   <cc># The first command-line argument</cc>
-   <ck>firstArg</ck> = <cv>$ARG{0}</cv>
-
-   <cc># Look for system property, or env var if that doesn't exist, or command-line arg if that doesn't exist.</cc>
-   <ck>nested</ck> = <cv>$S{mySystemProperty,$E{MY_ENV_VAR,$ARG{0}}}</cv>
-
-   <cc># A POJO with embedded variables</cc>
-   <ck>aBean2</ck> = <cv>{foo:'$ARG{0}',baz:$C{MySection/anInt}}</cv>
-   
-   </p>
-   <p class='bcode'>
-   <jc>// Java code for accessing config entries above.</jc>
-   ConfigFile cf = Microservice.<jsm>getConfig</jsm>();
-   
-   <jk>int</jk> anInt = cf.getInt(<js>"MySection/anInt"</js>); 
-   <jk>boolean</jk> aBoolean = cf.getBoolean(<js>"MySection/aBoolean"</js>); 
-   <jk>int</jk>[] anIntArray = cf.getObject(<jk>int</jk>[].<jk>class</jk>, <js>"MySection/anIntArray"</js>); 
-   URL aURL = cf.getObject(URL.<jk>class</jk>, <js>"MySection/aURL"</js>); 
-   String aPassword = cf.getString(<js>"MySection/aPassword"</js>);
-   MyBean aBean = cf.getObject(MyBean.<jk>class</jk>, <js>"MySection/aBean"</js>); 
-   Locale locale = cf.getObject(Locale.<jk>class</jk>, <js>"MySection/locale"</js>); 
-   String path = cf.getString(<js>"MySection/path"</js>); 
-   String mainClass = cf.getString(<js>"MySection/mainClass"</js>); 
-   <jk>int</jk> sameAsAnInt = cf.getInt(<js>"MySection/sameAsAnInt"</js>); 
-   String myArg = cf.getString(<js>"MySection/myArg"</js>); 
-   String firstArg = cf.getString(<js>"MySection/firstArg"</js>); 
-   </p>
-   
-   <!-- ======================================================================================================== -->
-   <a id="ConfigFile_API"></a>
-   <h3 class='topic' onclick='toggle(this)'>4.1 - Config File API</h3>
-   <div class='topic'>
-      <p>
-         There are 3 primary ways of getting access to the config file.
-      </p>
-      <ul class='doctree'>
-         <li class='jm'>
-            <a href="../../../../org/apache/juneau/microservice/Microservice.html#getConfig--"><code>Microservice.getConfig()</code></a> 
-            - A static method that can be used to access the config file from anywhere in your application.
-            <br>When using this method, any of the following variables can be resolved:
-            <ul>
-               <li><l>$S{key}, $S{key,default}</l> - System properties.
-               <li><l>$E{key}, $E{key,default}</l> - Environment variables.
-               <li><l>$C{key}, $C{key,default}</l> - Config file entries.
-               <li><l>$MF{key}, $MF{key,default}</l> - Manifest file entries.
-               <li><l>$ARG{key}, $ARG{key,default}</l> - Command-line arguments.
-            </ul>
-            Additional user-defined variables can be defined by overriding the 
-            <a href="../../../../org/apache/juneau/microservice/Microservice.html#createVarResolver--"><code>Microservice.createVarResolver()</code></a> method
-            and using the <a href="../../../../org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
-         <li class='jm'>
-            <a href="../../../../org/apache/juneau/rest/RestContext.html#getConfigFile--"><code>RestContext.getConfigFile()</code></a> 
-            - An instance method to access it from inside a REST servlet.
-            <br>The following variables are available in addition to the variables defined above:
-            <ul>
-               <li><l>$I{key}, $I{key,default}</l> - Servlet initialization parameters.
-            </ul>
-            
-            <h5 class='figure'>Example usage:</h5>
-            <p class='bcode'>
-   <cc>#-------------------------------</cc>
-   <cc># Properties for MyHelloResource </cc>
-   <cc>#-------------------------------</cc>
-   <cs>[MyHelloResource]</cs>
-   <ck>greeting</ck> = <cv>Hello world!</cv> 
-            </p>
-            <p class='bcode'>
-   <ja>@RestResource</ja>(...)
-   <jk>public class</jk> MyHelloResource <jk>extends</jk> Resource {
-      <jc>// Access config file when initializing fields.</jc>
-      <jk>private</jk> String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
-      
-      <jc>// Or access config file in servlet init method.</jc>
-      <ja>@Override</ja> <jc>/* Servlet */</jc>
-      <jk>public void</jk> init() {
-         String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
-      }
-   }     
-            </p>
-            <p>
-               Additional user-defined variables can be defined at this level by adding a  
-               <a href="../../../../org/apache/juneau/rest/annotation/HookEvent.html#INIT"><code>HookEvent.INIT</code></a> hook method
-               and using the <a href="../../../../org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
-            </p>
-         <li class='jm'>
-            <a href="../../../../org/apache/juneau/rest/RestRequest.html#getConfigFile--"><code>RestRequest.getConfigFile()</code></a> 
-            - An instance method to access it from inside a REST method.
-            <br>The following variables are available in addition to the variables defined above:
-            <ul>
-               <li><l>$L{key}, $L{key,args}</l> - Localized variables pulled from 
-                  <a href="../../../../org/apache/juneau/rest/RestRequest.html#getMessage-java.lang.String-java.lang.Object...-"><code>RestRequest.getMessage(String, Object...)</code></a>.
-               <li><l>$RA{key1,[key2...]}</l> - Request attribute variables.
-               <li><l>$RF{key1,[key2...]}</l> - Request form data variables.
-               <li><l>$RH{key1,[key2...]}</l> - Request header variables.
-               <li><l>$RP{key1,[key2...]}</l> - Request path variables.
-               <li><l>$RQ{key1,[key2...]}</l> - Request query parameter variables.
-               <li><l>$R{key1,[key2...]}</l> - Other request variables.
-               <li><l>$SA{key,mediaType}</l> - Object returned by <code>ServletRequestWrapper.getAttribute(String)</code> converted to a string using the serializer registered to handle the specified media type.
-               <li><l>$UE{...}</l> - URL-Encode the specified value.
-            </ul>
-            
-            <h5 class='figure'>Example usage:</h5>
-            <p class='bcode'>
-   <cc>#-----------------------------</cc>
-   <cc># Contents of microservice.cfg </cc>
-   <cc>#-----------------------------</cc>
-   <cs>[MyHelloResource]</cs>
-   <ck>greeting</ck> = <cv>Hello $RP{person}!</cv> 
-   <ck>localizedGreeting</ck> = <cv>$L{HelloMessage,$RP{person}}</cv> 
-            </p>
-            <p class='bcode'>
-   <cc>#---------------------------------</cc>
-   <cc># Contents of MyHelloResource.java </cc>
-   <cc>#---------------------------------</cc>
-   <ja>@RestResource</ja>(
-      path=<js>"/hello"</js>,
-      messages=<js>"nls/Messages"</js>,
-      ...
-   )
-   <jk>public class</jk> MyHelloResource <jk>extends</jk> Resource {
-
-      <jd>/** Standard hello message. */</jd>
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/{person}"</js>)
-      <jk>public</jk> String sayHello(RestRequest req) {
-         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/greeting"</js>);
-      }
-
-      <jd>/** Hello message in users language. */</jd>
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/localized/{person}"</js>)
-      <jk>public</jk> String sayLocalizedHello(RestRequest req) {
-         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/localizedGreeting"</js>);
-      }
-   }     
-            <p class='bcode'>
-   <cc>#---------------------------------------</cc>
-   <cc># Contents of nls/Messages_en.properties </cc>
-   <cc>#---------------------------------------</cc>
-   <ck>MyHelloResource.HelloMessage</ck> = <cv>Hello {0}!</cv> 
-            </p>
-            <p>
-               Additional user-defined variables can be defined at this level by overriding the 
-               <a href="../../../../org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
-            </p>
-      </ul>
-      <p>
-         That <l>sayLocalizedHello()</l> example might need some explanation since there's a lot going on there.
-         Here's what happens when an HTTP call is made to <l>GET /hello/localized/Bob</l>:
-      </p>
-      <ol class='spaced-list'>
-         <li>
-            The HTTP call matches the <l>/hello</l> path on the <l>MyHelloResource</l> class.
-         <li>
-            The HTTP call matches the <l>/localized/{person}</l> path on the <l>sayLocalizedHello()</l> method.
-         <li>
-            The request attribute <l>person</l> gets assigned the value <l>"Bob"</l>.
-         <li>
-            The call to <l>req.getConfig().getString("MyHelloResource/localizedGreeting")</l> 
-            finds the value <l>"$L{HelloMessage,$RP{person}}"</l>.
-         <li>
-            The arguments in the <l>$L{}</l> variable get resolved, resulting in <l>"$L{HelloMessage,Bob}"</l>.
-         <li>
-            The <l>$L{}</l> variable gets resolved to the message <l>"Hello {0}!"</l> in the localized properties 
-            file of the servlet based on the <l>Accept-Language</l> header on the request.
-         <li>
-            The arguments get replaced in the message resulting in <l>"Hello Bob!"</l>. 
-         <li>
-            The resulting message <l>"Hello Bob!"</l> is returned as a POJO to be serialized to whatever content 
-            type was specified on the <l>Accept</l> header on the request.
-      </ol>
-      <p>
-         This particular example is needlessly complex, but it gives an idea of how variables can be used 
-         recursively to produce sophisticated results
-      </p>
-   </div>
-</div>
-
-<!-- ======================================================================================================== -->
-<a id="ResourceClasses"></a>
-<h2 class='topic' onclick='toggle(this)'>5 - Resource Classes</h2>
-<div class='topic'>
-   <p>
-      Now let's take a look at the resource classes themselves.  
-      The top-level page:
-   </p>
-   <img class='bordered' src='doc-files/instructions6.png'>
-   <p>
-      ...is generated by this class...
-   <p class='bcode'>
-   <jd>/**
-    * Root microservice page.
-    */</jd>
-   <ja>@RestResource</ja>(
-      path=<js>"/"</js>,
-      title=<js>"Juneau Microservice Template"</js>,
-      description=<js>"Template for creating REST microservices"</js>,
-      properties={
-         <ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, value=<js>"{options:'?method=OPTIONS'}"</js>)
-      },
-      children={
-         HelloWorldResource.<jk>class</jk>,
-         ConfigResource.<jk>class</jk>,
-         LogsResource.<jk>class</jk>
-      }
-   )
-   <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
-      <jk>private static final long</jk> <jsf>serialVersionUID</jsf> = 1L;
-   }     
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         The </l>label</l> and <l>description</l> annotations define the titles on the page.
-         <br>These can be globalized using <l>$L{...}</l> variables, or by defining specially-named properties in the 
-         properties file for the resource.
-      <li>
-         In this case, the <l>path</l> annotation defines the context root of your application since it was 
-         not specified in the manifest or config file.
-         <br>Therefore, this resource is mapped to <l>http://localhost:10000</l>.
-      <li>
-         The <l>children</l> annotation make up the list of child resources.
-         <br>These child resources can be anything that extends from <l>Servlet</l>, although usually
-         they will be subclasses of <a href="../../../../org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> or other resource groups.
-   </ul>
-   <p>
-      If you click the <l>helloWorld</l> link in your application, you'll get a simple hello world message:
-   </p>
-   <img class='bordered' src='doc-files/helloworld1.png'>
-   <p>
-      ...which is generated by this class...
-   </p>
-   <p class='bcode'>
-   <jd>/**
-    * Sample REST resource that prints out a simple "Hello world!" message.
-    */</jd>
-   <ja>@RestResource</ja>(
-      path=<js>"/helloWorld"</js>,
-      title=<js>"Hello World example"</js>,
-      description=<js>"Simplest possible REST resource"</js>
-   )
-   <jk>public class</jk> HelloWorldResource <jk>extends</jk> Resource {
-   
-      <jd>/** GET request handler */</jd>
-      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
-      <jk>public</jk> String sayHello() {
-         <jk>return</jk> <js>"Hello world!"</js>;
-      }
-   }     
-   </p>
-   <p>
-      The <a href="../../../../org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> and <a href="../../../../org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a> 
-      classes are powerful servlets designed specifically for creating REST APIs using nothing more than serialized 
-      and parsed POJOs.
-   </p>
-</div>
-
-
-<!-- ======================================================================================================== -->
-<a id="RestMicroservice"></a>
-<h2 class='topic' onclick='toggle(this)'>6 - RestMicroservice</h2>
-<div class='topic'>
-   <p>
-      The <a href="../../../../org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> class is the main application entry-point for REST 
-      microservices. 
-   </p>
-   <p>
-      The class hierarchy is:
-   </p>
-   <ul class='doctree'>
-      <li class='jac'>
-         <a href="../../../../org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
-         - Abstract class that defines simple start/stop methods and access to the manifest file, config file, and 
-         arguments.
-         <ul>
-            <li class='jc'>
-               <a href="../../../../org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> 
-               - Specialized microservice for starting up REST interfaces using Jetty and specifying REST servlets
-               through the manifest file or config file.
-         </ul>
-      </li>
-   </ul>
-   <p>
-      Refer to the Javadocs for these class for more information.
-   </p>
-   
-<!-- ======================================================================================================== -->
-   <a id="RestMicroservice_Extending"></a>
-   <h3 class='topic' onclick='toggle(this)'>6.1 - Extending RestMicroservice</h3>
-<div class='topic'>
-      <p>
-         This example shows how the <a href="../../../../org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> class
-         can be extended to implement lifecycle listener methods or override existing methods.
-         We'll create a new class <l>com.foo.SampleCustomRestMicroservice</l>.
-      </p>
-      <p>
-         First, the manifest file needs to be modified to point to our new microservice:
-      </p>
-      <p class='bcode'>
-   <mk>Main-Class:</mk> com.foo.SampleCustomRestMicroservice
-      </p>
-      <p>
-         Then we define the following class:
-      </p>
-      <p class='bcode'>
-   <jd>/**
-    * Sample subclass of a RestMicroservice that provides customized behavior.
-    * This class must be specified in the Main-Class entry in the manifest file and optionally
-    *    a Main-ConfigFile entry.
-    */</jd>
-   <jk>public class</jk> SampleCustomRestMicroservice <jk>extends</jk> RestMicroservice {
-   
-      <jd>/**
-       * Must implement a main method and call start()!
-       */</jd>
-      <jk>public static void</jk> main(String[] args) <jk>throws</jk> Exception {
-         <jk>new</jk> SampleCustomRestMicroservice(args).start();
-      }
-   
-      <jd>/**
-       * Must implement a constructor!
-       * 
-       * <ja>@param</ja> args Command line arguments. 
-       * <ja>@throws</ja> Exception 
-       */</jd>
-      <jk>public</jk> SampleCustomRestMicroservice(String[] args) <jk>throws</jk> Exception {
-         <jk>super</jk>(args);
-      }
-   
-      <jc>//--------------------------------------------------------------------------------
-      // Methods on Microservice that can be overridden and customized.
-      //--------------------------------------------------------------------------------</jc>
-   
-      <ja>@Override</ja> <jc>/* Microservice */</jc>
-      <jk>protected void</jk> start() <jk>throws</jk> Exception {
-         <jk>super</jk>.start();
-      }
-   
-      <ja>@Override</ja> <jc>/* Microservice */</jc>
-      <jk>public void</jk> stop() {
-         <jk>super</jk>.stop();
-      }
-   
-      <ja>@Override</ja> <jc>/* Microservice */</jc>
-      <jk>public void</jk> kill() {
-         <jk>super</jk>.kill();
-      }
-   
-      <ja>@Override</ja> <jc>/* Microservice */</jc>
-      <jk>public void</jk> onStart() {
-         System.<jsf>err</jsf>.println(<js>"onStart() called!"</js>);
-      }
-   
-      <ja>@Override</ja> <jc>/* Microservice */</jc>
-      <jk>public void</jk> onStop() {
-         System.<jsf>err</jsf>.println(<js>"onStop() called!"</js>);
-      }
-   
-      <jc>//--------------------------------------------------------------------------------
-      // Methods on RestMicroservice that can be overridden and customized.
-      //--------------------------------------------------------------------------------</jc>
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> initLogging() <jk>throws</jk> Exception {
-         <jk>super</jk>.initLogging();
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected</jk> Server createServer() <jk>throws</jk> Exception {
-         <jk>return super</jk>.createServer();
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> startServer() <jk>throws</jk> Exception {
-         <jk>super</jk>.startServer();
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> onCreateServer() {
-         System.<jsf>err</jsf>.println(<js>"onCreateServer() called!"</js>);
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> onStartServer() {
-         System.<jsf>err</jsf>.println(<js>"onStartServer() called!"</js>);
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> onPostStartServer() {
-         System.<jsf>err</jsf>.println(<js>"onPostStartServer() called!"</js>);
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> onStopServer() {
-         System.<jsf>err</jsf>.println(<js>"onStopServer() called!"</js>);
-      }
-   
-      <ja>@Override</ja> <jc>/* RestMicroservice */</jc>
-      <jk>protected void</jk> onPostStopServer() {
-         System.<jsf>err</jsf>.println(<js>"onPostStopServer() called!"</js>);
-      }
-   }
-      </p>
-   </div>   
-</div></div>
+<div class="block">Microservice API</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html b/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
index a90b286..6483642 100644
--- a/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
+++ b/content/site/apidocs/org/apache/juneau/rest/RestServletDefault.html
@@ -136,8 +136,9 @@ var activeTableTab = "activeTableTab";
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#properties--">properties</a>=<a href="../../../../org/apache/juneau/rest/annotation/Property.html" title="annotation in org.apache.juneau.rest.annotation">@Property</a>(<a href="../../../../org/apache/juneau/rest/annotation/Property.html#name--">name</a>="Serializer.uriResolution.s",<a href="../../../../org/apache/juneau/rest/annotation/Property.html#value--">value</a>="ROOT_RELATIVE"),
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#allowedMethodParams--">allowedMethodParams</a>="OPTIONS",
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#htmldoc--">htmldoc</a>=,
+              <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#config--">config</a>="$S{juneau.configFile}",
               <a href="../../../../org/apache/juneau/rest/annotation/RestResource.html#staticFiles--">staticFiles</a>={"htdocs:htdocs","styles:styles"})
-public abstract class <a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.212">RestServletDefault</a>
+public abstract class <a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.219">RestServletDefault</a>
 extends <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest">RestServlet</a></pre>
 <div class="block">Subclass of <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> with default serializers and parsers defined.
  
@@ -367,7 +368,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="cla
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RestServletDefault</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.212">RestServletDefault</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.219">RestServletDefault</a>()</pre>
 </li>
 </ul>
 </li>
@@ -389,7 +390,7 @@ extends <a href="../../../../org/apache/juneau/rest/RestServlet.html" title="cla
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#htmldoc--">htmldoc</a>=,
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#summary--">summary</a>="Swagger documentation",
             <a href="../../../../org/apache/juneau/rest/annotation/RestMethod.html#description--">description</a>="Auto-generated swagger documentation for this resource")
-public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.232">getOptions</a>(<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
+public&nbsp;<a href="../../../../org/apache/juneau/dto/swagger/Swagger.html" title="class in org.apache.juneau.dto.swagger">Swagger</a>&nbsp;<a href="../../../../src-html/org/apache/juneau/rest/RestServletDefault.html#line.239">getOptions</a>(<a href="../../../../org/apache/juneau/rest/RestRequest.html" title="class in org.apache.juneau.rest">RestRequest</a>&nbsp;req)</pre>
 <div class="block">[OPTIONS /*] - Show resource options.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/ResponsePattern.html b/content/site/apidocs/org/apache/juneau/rest/client/ResponsePattern.html
index 17b18c6..d509a1c 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/ResponsePattern.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/ResponsePattern.html
@@ -151,8 +151,8 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
       .run();
  </p>
  
- <h5 class='notes'>Important Notes:</h5>
- <ol class='notes'>
+ <h5 class='section'>Important Notes:</h5>
+ <ol class='spaced-list'>
    <li>
       Using response patterns does not affect the functionality of any of the other methods
       used to retrieve the response such as <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#getResponseAsString--"><code>RestCall.getResponseAsString()</code></a> or <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#getResponse-java.lang.Class-"><code>RestCall.getResponse(Class)</code></a>.
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/RestCall.html b/content/site/apidocs/org/apache/juneau/rest/client/RestCall.html
index aad54cb..6964dc2 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/RestCall.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/RestCall.html
@@ -116,10 +116,15 @@ var activeTableTab = "activeTableTab";
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
 <hr>
 <br>
 <pre>public final class <a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.70">RestCall</a>
-extends <a href="../../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a></pre>
+extends <a href="../../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau">BeanSession</a>
+implements <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">Represents a connection to a remote REST resource.
  
  <p>
@@ -140,7 +145,7 @@ extends <a href="../../../../../org/apache/juneau/BeanSession.html" title="class
  
  <h5 class='section'>See Also:</h5>
  <ul>
-   <li class='link'><a class="doclink" href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST client API</a>
+   <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; juneau-rest-client</a>
  </ul></div>
 </li>
 </ul>
@@ -244,7 +249,7 @@ extends <a href="../../../../../org/apache/juneau/BeanSession.html" title="class
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a></code></td>
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juneau/rest/client/RestCall.html#close--">close</a></span>()</code>
 <div class="block">Cleans up this HTTP call.</div>
 </td>
@@ -3221,12 +3226,14 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2101">close</a>()
-               throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2101">close</a>()
+           throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Cleans up this HTTP call.</div>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>This object (for method chaining).</dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></code> - Can be thrown by one of the <a href="../../../../../org/apache/juneau/rest/client/RestCallInterceptor.html#onClose-org.apache.juneau.rest.client.RestCall-"><code>RestCallInterceptor.onClose(RestCall)</code></a> calls.</dd>
 </dl>
@@ -3238,7 +3245,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/cl
 <ul class="blockList">
 <li class="blockList">
 <h4>logTo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2118">logTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html?is-external=true" title="class or interface in java.util.logging">Level</a>&nbsp;level,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2117">logTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html?is-external=true" title="class or interface in java.util.logging">Level</a>&nbsp;level,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;log)</pre>
 <div class="block">Adds a <a href="../../../../../org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> to the list of interceptors on this class.</div>
 <dl>
@@ -3256,7 +3263,7 @@ public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/cl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>debug</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2129">debug</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestCall.html#line.2128">debug</a>()
                throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Sets <code>Debug: value</code> header on this request.</div>
 <dl>
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/RestClient.html b/content/site/apidocs/org/apache/juneau/rest/client/RestClient.html
index 07db706..268a809 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/RestClient.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/RestClient.html
@@ -116,10 +116,15 @@ var activeTableTab = "activeTableTab";
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.63">RestClient</a>
-extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau">BeanContext</a></pre>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.64">RestClient</a>
+extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau">BeanContext</a>
+implements <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">Utility class for interfacing with remote REST interfaces.
  
  <h5 class='topic'>Features</h5>
@@ -136,9 +141,10 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
       API for interacting with remoteable services.
  </ul>
  
+ 
  <h5 class='section'>See Also:</h5>
  <ul>
-   <li class='link'><a class="doclink" href="package-summary.html#RestClient">org.apache.juneau.rest.client &gt; REST client API</a>.
+   <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; juneau-rest-client</a>
  </ul></div>
 </li>
 </ul>
@@ -456,7 +462,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_debug</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.89">RESTCLIENT_debug</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.90">RESTCLIENT_debug</a></pre>
 <div class="block">Configuration property:  Debug.
  
  <h5 class='section'>Property:</h5>
@@ -485,7 +491,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_executorService</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.122">RESTCLIENT_executorService</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.123">RESTCLIENT_executorService</a></pre>
 <div class="block">Configuration property:  Executor service.
  
  <h5 class='section'>Property:</h5>
@@ -527,7 +533,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_executorServiceShutdownOnClose</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.142">RESTCLIENT_executorServiceShutdownOnClose</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.143">RESTCLIENT_executorServiceShutdownOnClose</a></pre>
 <div class="block">Configuration property:  Shut down executor service on close.
  
  <h5 class='section'>Property:</h5>
@@ -556,7 +562,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_headers</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.163">RESTCLIENT_headers</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.164">RESTCLIENT_headers</a></pre>
 <div class="block">Configuration property:  Request headers.
  
  <h5 class='section'>Property:</h5>
@@ -586,7 +592,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_interceptors</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.183">RESTCLIENT_interceptors</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.184">RESTCLIENT_interceptors</a></pre>
 <div class="block">Configuration property:  Call interceptors.
  
  <h5 class='section'>Property:</h5>
@@ -615,7 +621,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_interceptors_add</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.188">RESTCLIENT_interceptors_add</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.189">RESTCLIENT_interceptors_add</a></pre>
 <div class="block">Add to the Call interceptors property.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -629,7 +635,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_keepHttpClientOpen</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.208">RESTCLIENT_keepHttpClientOpen</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.209">RESTCLIENT_keepHttpClientOpen</a></pre>
 <div class="block">Configuration property:  Keep HttpClient open.
  
  <h5 class='section'>Property:</h5>
@@ -658,7 +664,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_parser</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.229">RESTCLIENT_parser</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.230">RESTCLIENT_parser</a></pre>
 <div class="block">Configuration property:  Parser.
  
  <h5 class='section'>Property:</h5>
@@ -688,7 +694,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_partSerializer</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.250">RESTCLIENT_partSerializer</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.251">RESTCLIENT_partSerializer</a></pre>
 <div class="block">Configuration property:  Part serializer.
  
  <h5 class='section'>Property:</h5>
@@ -718,7 +724,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_query</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.270">RESTCLIENT_query</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.271">RESTCLIENT_query</a></pre>
 <div class="block">Configuration property:  Request query parameters.
  
  <h5 class='section'>Property:</h5>
@@ -747,7 +753,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_retries</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.290">RESTCLIENT_retries</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.291">RESTCLIENT_retries</a></pre>
 <div class="block">Configuration property:  Number of retries to attempt.
  
  <h5 class='section'>Property:</h5>
@@ -776,7 +782,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_retryInterval</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.311">RESTCLIENT_retryInterval</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.312">RESTCLIENT_retryInterval</a></pre>
 <div class="block">Configuration property:  The time in milliseconds between retry attempts.
  
  <h5 class='section'>Property:</h5>
@@ -806,7 +812,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_retryOn</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.331">RESTCLIENT_retryOn</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.332">RESTCLIENT_retryOn</a></pre>
 <div class="block">Configuration property:  Retry-on determination object.
  
  <h5 class='section'>Property:</h5>
@@ -835,7 +841,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>RESTCLIENT_rootUri</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.354">RESTCLIENT_rootUri</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.355">RESTCLIENT_rootUri</a></pre>
 <div class="block">Configuration property:  Root URI.
  
  <h5 class='section'>Property:</h5>
@@ -867,7 +873,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RESTCLIENT_serializer</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.375">RESTCLIENT_serializer</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.376">RESTCLIENT_serializer</a></pre>
 <div class="block">Configuration property:  Serializer.
  
  <h5 class='section'>Property:</h5>
@@ -905,7 +911,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.408">create</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.409">create</a>()</pre>
 <div class="block">Instantiates a new clean-slate <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> object.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -919,7 +925,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.422">create</a>(<a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&nbsp;s,
+<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.423">create</a>(<a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&nbsp;s,
                                        <a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&nbsp;p)</pre>
 <div class="block">Instantiates a new <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> object using the specified serializer and parser.
  
@@ -940,7 +946,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.436">create</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Serializer. [...]
+<pre>public static&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.437">create</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Serializer. [...]
                                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&gt;&nbsp;p)</pre>
 <div class="block">Instantiates a new <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> object using the specified serializer and parser.
  
@@ -961,7 +967,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>builder</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.441">builder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.442">builder</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/Context.html#builder--">Context</a></code></span></div>
 <div class="block">Creates a builder from this context object.
  
@@ -981,13 +987,17 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.504">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.506">close</a>()
            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calls <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io"><code>Closeable.close()</code></a> on the underlying <code>CloseableHttpClient</code>.
  
  <p>
  It's good practice to call this method after the client is no longer used.</div>
 <dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
@@ -999,7 +1009,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>closeQuietly</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.517">closeQuietly</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.519">closeQuietly</a>()</pre>
 <div class="block">Same as <a href="../../../../../org/apache/juneau/rest/client/RestClient.html#close--"><code>close()</code></a>, but ignores any exceptions.</div>
 </li>
 </ul>
@@ -1009,7 +1019,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>execute</h4>
-<pre>protected&nbsp;org.apache.http.HttpResponse&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.539">execute</a>(org.apache.http.client.methods.HttpUriRequest&nbsp;req)
+<pre>protected&nbsp;org.apache.http.HttpResponse&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.541">execute</a>(org.apache.http.client.methods.HttpUriRequest&nbsp;req)
                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Execute the specified request.
  
@@ -1031,7 +1041,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doGet</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.554">doGet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.556">doGet</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
                throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform a <code>GET</code> request against the specified URL.</div>
 <dl>
@@ -1052,7 +1062,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doPut</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.583">doPut</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.585">doPut</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
                throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform a <code>PUT</code> request against the specified URL.</div>
@@ -1087,7 +1097,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doPut</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.602">doPut</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.604">doPut</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
                throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Same as <a href="../../../../../org/apache/juneau/rest/client/RestClient.html#doPut-java.lang.Object-java.lang.Object-"><code>doPut(Object, Object)</code></a> but don't specify the input yet.
  
@@ -1112,7 +1122,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doPost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.630">doPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.632">doPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
                 throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform a <code>POST</code> request against the specified URL.</div>
@@ -1146,7 +1156,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doPost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.649">doPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.651">doPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
                 throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Same as <a href="../../../../../org/apache/juneau/rest/client/RestClient.html#doPost-java.lang.Object-java.lang.Object-"><code>doPost(Object, Object)</code></a> but don't specify the input yet.
  
@@ -1171,7 +1181,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doDelete</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.664">doDelete</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.666">doDelete</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
                   throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform a <code>DELETE</code> request against the specified URL.</div>
 <dl>
@@ -1192,7 +1202,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doOptions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.679">doOptions</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.681">doOptions</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url)
                    throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform an <code>OPTIONS</code> request against the specified URL.</div>
 <dl>
@@ -1213,7 +1223,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doFormPost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.698">doFormPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.700">doFormPost</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
                            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)
                     throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Perform a <code>POST</code> request with a content type of <code>application/x-www-form-urlencoded</code>
@@ -1238,7 +1248,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doCallback</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.729">doCallback</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;callString)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.731">doCallback</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;callString)
                     throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
 <div class="block">Performs a REST call where the entire call is specified in a simple string.
  
@@ -1275,7 +1285,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.805">doCall</a>(<a href="../../../../../org/apache/juneau/rest/client/HttpMethod.html" title="enum in org.apache.juneau.rest.client">HttpMethod</a>&nbsp;method,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.807">doCall</a>(<a href="../../../../../org/apache/juneau/rest/client/HttpMethod.html" title="enum in org.apache.juneau.rest.client">HttpMethod</a>&nbsp;method,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;content)
                 throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
@@ -1315,7 +1325,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>doCall</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.825">doCall</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;method,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client">RestCall</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.827">doCall</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;method,
                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;url,
                        boolean&nbsp;hasContent)
                 throws <a href="../../../../../org/apache/juneau/rest/client/RestCallException.html" title="class in org.apache.juneau.rest.client">RestCallException</a></pre>
@@ -1340,7 +1350,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteableProxy</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.942">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.944">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass)</pre>
 <div class="block">Create a new proxy interface against a REST interface.
  
  <p>
@@ -1420,7 +1430,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteableProxy</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.953">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.955">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;restUrl)</pre>
 <div class="block">Same as <a href="../../../../../org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-"><code>getRemoteableProxy(Class)</code></a> except explicitly specifies the URL of the REST interface.</div>
 <dl>
@@ -1438,7 +1448,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteableProxy</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.967">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.969">getRemoteableProxy</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;restUrl,
                                 <a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&nbsp;serializer,
                                 <a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&nbsp;parser)</pre>
@@ -1460,7 +1470,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContext.html" title="class
 <ul class="blockListLast">
 <li class="blockList">
 <h4>finalize</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.1174">finalize</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClient.html#line.1165">finalize</a>()
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/RestClientBuilder.html b/content/site/apidocs/org/apache/juneau/rest/client/RestClientBuilder.html
index 2e7693b..f0d937b 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/RestClientBuilder.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/RestClientBuilder.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.67">RestClientBuilder</a>
+<pre>public class <a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.72">RestClientBuilder</a>
 extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title="class in org.apache.juneau">BeanContextBuilder</a></pre>
 <div class="block">Builder class for the <a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> class.
  
@@ -129,6 +129,11 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
    <li><a href="../../../../../org/apache/juneau/rest/client/RestClient.html#create-org.apache.juneau.serializer.Serializer-org.apache.juneau.parser.Parser-"><code>RestClient.create(Serializer,Parser)</code></a> - Create from scratch using specified serializer/parser.
    <li><a href="../../../../../org/apache/juneau/rest/client/RestClient.html#create-java.lang.Class-java.lang.Class-"><code>RestClient.create(Class,Class)</code></a> - Create from scratch using specified serializer/parser classes.
    <li><a href="../../../../../org/apache/juneau/rest/client/RestClient.html#builder--"><code>RestClient.builder()</code></a> - Copy settings from an existing client.
+ </ul>
+ 
+ <h5 class='section'>See Also:</h5>
+ <ul>
+   <li class='link'><a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client">Overview &gt; juneau-rest-client</a>
  </ul></div>
 </li>
 </ul>
@@ -1373,7 +1378,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>build</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client">RestClient</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.85">build</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client">RestClient</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.90">build</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#build--">ContextBuilder</a></code></span></div>
 <div class="block">Build the object.</div>
 <dl>
@@ -1391,7 +1396,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>createHttpClient</h4>
-<pre>protected&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.114">createHttpClient</a>()
+<pre>protected&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.119">createHttpClient</a>()
                                                                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Creates an instance of an <code>HttpClient</code> to be used to handle all HTTP communications with the target server.
  
@@ -1420,7 +1425,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>createHttpClientBuilder</h4>
-<pre>protected&nbsp;org.apache.http.impl.client.HttpClientBuilder&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.136">createHttpClientBuilder</a>()</pre>
+<pre>protected&nbsp;org.apache.http.impl.client.HttpClientBuilder&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.141">createHttpClientBuilder</a>()</pre>
 <div class="block">Creates an instance of an <code>HttpClientBuilder</code> to be used to create the <code>HttpClient</code>.
  
  <p>
@@ -1444,7 +1449,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>createConnectionManager</h4>
-<pre>protected&nbsp;org.apache.http.conn.HttpClientConnectionManager&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.154">createConnectionManager</a>()</pre>
+<pre>protected&nbsp;org.apache.http.conn.HttpClientConnectionManager&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.159">createConnectionManager</a>()</pre>
 <div class="block">Creates the <code>HttpClientConnectionManager</code> returned by <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#createConnectionManager--"><code>createConnectionManager()</code></a>.
  
  <p>
@@ -1464,7 +1469,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>enableSSL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.198">enableSSL</a>(<a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client">SSLOpts</a>&nbsp;opts)
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.203">enableSSL</a>(<a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client">SSLOpts</a>&nbsp;opts)
                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/security/KeyStoreException.html?is-external=true" title="class or interface in java.security">KeyStoreException</a>,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</a></pre>
 <div class="block">Enable SSL support on this client.</div>
@@ -1487,7 +1492,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>enableLaxSSL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.213">enableLaxSSL</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.218">enableLaxSSL</a>()
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/security/KeyStoreException.html?is-external=true" title="class or interface in java.security">KeyStoreException</a>,
                                       <a href="http://docs.oracle.com/javase/7/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</a></pre>
 <div class="block">Enable LAX SSL support.
@@ -1509,7 +1514,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>clientVersion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.223">clientVersion</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;version)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.228">clientVersion</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;version)</pre>
 <div class="block">Sets the client version by setting the value for the <js>"X-Client-Version"</js> header.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1525,7 +1530,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>logTo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.234">logTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html?is-external=true" title="class or interface in java.util.logging">Level</a>&nbsp;level,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.239">logTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html?is-external=true" title="class or interface in java.util.logging">Level</a>&nbsp;level,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/util/logging/Logger.html?is-external=true" title="class or interface in java.util.logging">Logger</a>&nbsp;log)</pre>
 <div class="block">Adds a <a href="../../../../../org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> to the list of interceptors on this class.</div>
 <dl>
@@ -1543,7 +1548,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pooled</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.244">pooled</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.249">pooled</a>()</pre>
 <div class="block">When called, the <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#createConnectionManager--"><code>createConnectionManager()</code></a> method will return a <code>PoolingHttpClientConnectionManager</code>
  instead of a <code>BasicHttpClientConnectionManager</code>.</div>
 <dl>
@@ -1558,7 +1563,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>basicAuth</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.258">basicAuth</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.263">basicAuth</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
                                    int&nbsp;port,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pw)</pre>
@@ -1580,7 +1585,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>httpClient</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.274">httpClient</a>(org.apache.http.impl.client.CloseableHttpClient&nbsp;httpClient,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.279">httpClient</a>(org.apache.http.impl.client.CloseableHttpClient&nbsp;httpClient,
                                     boolean&nbsp;keepHttpClientOpen)</pre>
 <div class="block">Sets the internal <code>HttpClient</code> to use for handling HTTP communications.</div>
 <dl>
@@ -1598,7 +1603,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>accept</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.295">accept</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.300">accept</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Accept</code> request header.
  
  <p>
@@ -1618,7 +1623,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptCharset</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.308">acceptCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.313">acceptCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Accept-Charset</code> request header.
  
  <p>
@@ -1637,7 +1642,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptEncoding</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.321">acceptEncoding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.326">acceptEncoding</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Accept-Encoding</code> request header.
  
  <p>
@@ -1656,7 +1661,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptLanguage</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.334">acceptLanguage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.339">acceptLanguage</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Accept-Language</code> request header.
  
  <p>
@@ -1675,7 +1680,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>authorization</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.347">authorization</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.352">authorization</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Authorization</code> request header.
  
  <p>
@@ -1694,7 +1699,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheControl</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.360">cacheControl</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.365">cacheControl</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Cache-Control</code> request header.
  
  <p>
@@ -1713,7 +1718,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>connection</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.373">connection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.378">connection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Connection</code> request header.
  
  <p>
@@ -1732,7 +1737,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>contentLength</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.386">contentLength</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.391">contentLength</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Content-Length</code> request header.
  
  <p>
@@ -1751,7 +1756,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>contentType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.400">contentType</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.405">contentType</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Content-Type</code> request header.
  
  <p>
@@ -1771,7 +1776,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>date</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.413">date</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.418">date</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Date</code> request header.
  
  <p>
@@ -1790,7 +1795,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>expect</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.426">expect</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.431">expect</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Expect</code> request header.
  
  <p>
@@ -1809,7 +1814,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>forwarded</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.439">forwarded</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.444">forwarded</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Forwarded</code> request header.
  
  <p>
@@ -1828,7 +1833,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>from</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.452">from</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.457">from</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>From</code> request header.
  
  <p>
@@ -1847,7 +1852,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>host</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.465">host</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.470">host</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Host</code> request header.
  
  <p>
@@ -1866,7 +1871,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ifMatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.478">ifMatch</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.483">ifMatch</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>If-Match</code> request header.
  
  <p>
@@ -1885,7 +1890,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ifModifiedSince</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.491">ifModifiedSince</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.496">ifModifiedSince</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>If-Modified-Since</code> request header.
  
  <p>
@@ -1904,7 +1909,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ifNoneMatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.504">ifNoneMatch</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.509">ifNoneMatch</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>If-None-Match</code> request header.
  
  <p>
@@ -1923,7 +1928,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ifRange</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.517">ifRange</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.522">ifRange</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>If-Range</code> request header.
  
  <p>
@@ -1942,7 +1947,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ifUnmodifiedSince</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.530">ifUnmodifiedSince</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.535">ifUnmodifiedSince</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>If-Unmodified-Since</code> request header.
  
  <p>
@@ -1961,7 +1966,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>maxForwards</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.543">maxForwards</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.548">maxForwards</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Max-Forwards</code> request header.
  
  <p>
@@ -1980,7 +1985,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>noTrace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.557">noTrace</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.562">noTrace</a>()</pre>
 <div class="block">When called, <code>No-Trace: true</code> is added to requests.
  
  <p>
@@ -1999,7 +2004,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>origin</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.570">origin</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.575">origin</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Origin</code> request header.
  
  <p>
@@ -2018,7 +2023,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pragma</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.583">pragma</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.588">pragma</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Pragma</code> request header.
  
  <p>
@@ -2037,7 +2042,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>proxyAuthorization</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.596">proxyAuthorization</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.601">proxyAuthorization</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Proxy-Authorization</code> request header.
  
  <p>
@@ -2056,7 +2061,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>range</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.609">range</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.614">range</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Range</code> request header.
  
  <p>
@@ -2075,7 +2080,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>referer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.622">referer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.627">referer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Referer</code> request header.
  
  <p>
@@ -2094,7 +2099,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>te</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.635">te</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.640">te</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>TE</code> request header.
  
  <p>
@@ -2113,7 +2118,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>userAgent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.648">userAgent</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.653">userAgent</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>User-Agent</code> request header.
  
  <p>
@@ -2132,7 +2137,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>upgrade</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.661">upgrade</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.666">upgrade</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Upgrade</code> request header.
  
  <p>
@@ -2151,7 +2156,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>via</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.674">via</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.679">via</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Via</code> request header.
  
  <p>
@@ -2170,7 +2175,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>warning</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.687">warning</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.692">warning</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Sets the value for the <code>Warning</code> request header.
  
  <p>
@@ -2189,7 +2194,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>executorService</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.725">executorService</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executorService,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.730">executorService</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;executorService,
                                          boolean&nbsp;shutdownOnClose)</pre>
 <div class="block">Configuration property:  Executor service.
  
@@ -2229,7 +2234,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>header</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.743">header</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.748">header</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Request headers.
  
@@ -2252,7 +2257,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>keepHttpClientOpen</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.763">keepHttpClientOpen</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.768">keepHttpClientOpen</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Keep HttpClient open.
  
  <p>
@@ -2277,7 +2282,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>interceptors</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.781">interceptors</a>(<a href="../../../../../org/apache/juneau/rest/client/RestCallInterceptor.html" title="class in org.apache.juneau.rest.client">RestCallInterceptor</a>...&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.786">interceptors</a>(<a href="../../../../../org/apache/juneau/rest/client/RestCallInterceptor.html" title="class in org.apache.juneau.rest.client">RestCallInterceptor</a>...&nbsp;value)</pre>
 <div class="block">Configuration property:  Call interceptors.
  
  <p>
@@ -2301,7 +2306,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>parser</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.801">parser</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/Parser.html" ti [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.806">parser</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/Parser.html" ti [...]
 <div class="block">Configuration property:  Parser.
  
  <p>
@@ -2326,7 +2331,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>parser</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.821">parser</a>(<a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.826">parser</a>(<a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser">Parser</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Parser.
  
  <p>
@@ -2351,7 +2356,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>partSerializer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.841">partSerializer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/httppart/HttpP [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.846">partSerializer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/httppart/HttpP [...]
 <div class="block">Configuration property:  Part serializer.
  
  <p>
@@ -2376,7 +2381,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>partSerializer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.861">partSerializer</a>(<a href="../../../../../org/apache/juneau/httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.866">partSerializer</a>(<a href="../../../../../org/apache/juneau/httppart/HttpPartSerializer.html" title="interface in org.apache.juneau.httppart">HttpPartSerializer</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Part serializer.
  
  <p>
@@ -2401,7 +2406,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>retryable</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.882">retryable</a>(int&nbsp;retries,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.887">retryable</a>(int&nbsp;retries,
                                    int&nbsp;interval,
                                    <a href="../../../../../org/apache/juneau/rest/client/RetryOn.html" title="class in org.apache.juneau.rest.client">RetryOn</a>&nbsp;retryOn)</pre>
 <div class="block">Make HTTP calls retryable if an error response (>=400) is received.
@@ -2429,7 +2434,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>rootUrl</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.908">rootUrl</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.913">rootUrl</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Root URI.
  
  <p>
@@ -2457,7 +2462,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>query</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.924">query</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.929">query</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Request query parameters.
  
@@ -2480,7 +2485,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>serializer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.944">serializer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Seriali [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.949">serializer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Seriali [...]
 <div class="block">Configuration property:  Serializer.
  
  <p>
@@ -2505,7 +2510,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>serializer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.964">serializer</a>(<a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.969">serializer</a>(<a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer">Serializer</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Serializer.
  
  <p>
@@ -2530,7 +2535,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>abridged</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.985">abridged</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.990">abridged</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Abridged output.
  
  <p>
@@ -2556,7 +2561,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>abridged</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1002">abridged</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1007">abridged</a>()</pre>
 <div class="block">Configuration property:  Abridged output.
  
  <p>
@@ -2578,7 +2583,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addBeanTypeProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1023">addBeanTypeProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1028">addBeanTypeProperties</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Add <js>"_type"</js> properties when needed.
  
  <p>
@@ -2604,7 +2609,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>detectRecursions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1049">detectRecursions</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1054">detectRecursions</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Automatically detect POJO recursions.
  
  <p>
@@ -2635,7 +2640,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>detectRecursions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1066">detectRecursions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1071">detectRecursions</a>()</pre>
 <div class="block">Configuration property:  Automatically detect POJO recursions.
  
  <p>
@@ -2657,7 +2662,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreRecursions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1093">ignoreRecursions</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1098">ignoreRecursions</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Ignore recursion errors.
  
  <p>
@@ -2689,7 +2694,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreRecursions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1110">ignoreRecursions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1115">ignoreRecursions</a>()</pre>
 <div class="block">Configuration property:  Ignore recursion errors.
  
  <p>
@@ -2711,7 +2716,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>initialDepth</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1130">initialDepth</a>(int&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1135">initialDepth</a>(int&nbsp;value)</pre>
 <div class="block">Configuration property:  Initial depth.
  
  <p>
@@ -2736,7 +2741,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>listenerS</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1149">listenerS</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Seriali [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1154">listenerS</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/serializer/Seriali [...]
 <div class="block">Configuration property:  Serializer listener.
  
  <p>
@@ -2760,7 +2765,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>maxDepth</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1171">maxDepth</a>(int&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1176">maxDepth</a>(int&nbsp;value)</pre>
 <div class="block">Configuration property:  Max serialization depth.
  
  <p>
@@ -2787,7 +2792,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>maxIndent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1191">maxIndent</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1196">maxIndent</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Maximum indentation.
  
  <p>
@@ -2812,7 +2817,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>quoteChar</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1211">quoteChar</a>(char&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1216">quoteChar</a>(char&nbsp;value)</pre>
 <div class="block">Configuration property:  Quote character.
  
  <p>
@@ -2837,7 +2842,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sq</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1228">sq</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1233">sq</a>()</pre>
 <div class="block">Configuration property:  Quote character.
  
  <p>
@@ -2859,7 +2864,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortCollections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1248">sortCollections</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1253">sortCollections</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Sort arrays and collections alphabetically.
  
  <p>
@@ -2884,7 +2889,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortCollections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1265">sortCollections</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1270">sortCollections</a>()</pre>
 <div class="block">Configuration property:  Sort arrays and collections alphabetically.
  
  <p>
@@ -2906,7 +2911,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortMaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1283">sortMaps</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1288">sortMaps</a>(boolean&nbsp;value)</pre>
 <div class="block">Sets the <a href="../../../../../org/apache/juneau/serializer/Serializer.html#SERIALIZER_sortMaps"><code>Serializer.SERIALIZER_sortMaps</code></a> property on all serializers in this group.
  
  <p>
@@ -2930,7 +2935,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortMaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1300">sortMaps</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1305">sortMaps</a>()</pre>
 <div class="block">Configuration property:  Sort maps alphabetically.
  
  <p>
@@ -2952,7 +2957,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimEmptyCollections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1320">trimEmptyCollections</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1325">trimEmptyCollections</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Trim empty lists and arrays.
  
  <p>
@@ -2977,7 +2982,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimEmptyCollections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1337">trimEmptyCollections</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1342">trimEmptyCollections</a>()</pre>
 <div class="block">Configuration property:  Trim empty lists and arrays.
  
  <p>
@@ -2999,7 +3004,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimEmptyMaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1357">trimEmptyMaps</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1362">trimEmptyMaps</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Trim empty maps.
  
  <p>
@@ -3024,7 +3029,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimEmptyMaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1374">trimEmptyMaps</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1379">trimEmptyMaps</a>()</pre>
 <div class="block">Configuration property:  Trim empty maps.
  
  <p>
@@ -3046,7 +3051,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimNullProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1394">trimNullProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1399">trimNullProperties</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Trim null bean property values.
  
  <p>
@@ -3071,7 +3076,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimStringsS</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1414">trimStringsS</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1419">trimStringsS</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Trim strings.
  
  <p>
@@ -3096,7 +3101,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimStringsS</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1431">trimStringsS</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1436">trimStringsS</a>()</pre>
 <div class="block">Configuration property:  Trim strings.
  
  <p>
@@ -3118,7 +3123,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>uriContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1449">uriContext</a>(<a href="../../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1454">uriContext</a>(<a href="../../../../../org/apache/juneau/UriContext.html" title="class in org.apache.juneau">UriContext</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  URI context bean.
  
  <p>
@@ -3142,7 +3147,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>uriRelativity</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1469">uriRelativity</a>(<a href="../../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1474">uriRelativity</a>(<a href="../../../../../org/apache/juneau/UriRelativity.html" title="enum in org.apache.juneau">UriRelativity</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  URI relativity.
  
  <p>
@@ -3167,7 +3172,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>uriResolution</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1489">uriResolution</a>(<a href="../../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1494">uriResolution</a>(<a href="../../../../../org/apache/juneau/UriResolution.html" title="enum in org.apache.juneau">UriResolution</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  URI resolution.
  
  <p>
@@ -3192,7 +3197,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useWhitespace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1509">useWhitespace</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1514">useWhitespace</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Use whitespace.
  
  <p>
@@ -3217,7 +3222,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useWhitespace</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1525">useWhitespace</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1530">useWhitespace</a>()</pre>
 <div class="block">Configuration property:  Use whitespace.
  
  <p>
@@ -3239,7 +3244,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ws</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1542">ws</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1547">ws</a>()</pre>
 <div class="block">Configuration property:  Use whitespace.
  
  <p>
@@ -3261,7 +3266,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>autoCloseStreams</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1562">autoCloseStreams</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1567">autoCloseStreams</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Auto-close streams.
  
  If <jk>true</jk>, <l>InputStreams</l> and <l>Readers</l> passed into parsers will be closed
@@ -3286,7 +3291,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>autoCloseStreams</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1579">autoCloseStreams</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1584">autoCloseStreams</a>()</pre>
 <div class="block">Configuration property:  Auto-close streams.
  
  <p>
@@ -3308,7 +3313,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>fileCharset</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1599">fileCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1604">fileCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  File charset.
  
  <p>
@@ -3333,7 +3338,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>inputStreamCharset</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1619">inputStreamCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1624">inputStreamCharset</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Input stream charset.
  
  <p>
@@ -3358,7 +3363,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>listenerP</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1637">listenerP</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/ParserListe [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1642">listenerP</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/juneau/parser/ParserListe [...]
 <div class="block">Configuration property:  Parser listener.
  
  <p>
@@ -3382,7 +3387,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>strict</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1657">strict</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1662">strict</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Strict mode.
  
  <p>
@@ -3407,7 +3412,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>strict</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1674">strict</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1679">strict</a>()</pre>
 <div class="block">Configuration property:  Strict mode.
  
  <p>
@@ -3429,7 +3434,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimStringsP</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1695">trimStringsP</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1700">trimStringsP</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Trim parsed strings.
  
  <p>
@@ -3455,7 +3460,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>trimStringsP</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1712">trimStringsP</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1717">trimStringsP</a>()</pre>
 <div class="block">Configuration property:  Trim parsed strings.
  
  <p>
@@ -3477,7 +3482,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>unbuffered</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1731">unbuffered</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1736">unbuffered</a>(boolean&nbsp;value)</pre>
 <div class="block">Configuration property:  Unbuffered.
  
  If <jk>true</jk>, don't use internal buffering during parsing.
@@ -3501,7 +3506,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>unbuffered</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1748">unbuffered</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1753">unbuffered</a>()</pre>
 <div class="block">Configuration property:  Unbuffered.
  
  <p>
@@ -3523,7 +3528,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>paramFormat</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1763">paramFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1768">paramFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block">Configuration property:  Parameter format.
  
  <h5 class='section'>See Also:</h5>
@@ -3544,7 +3549,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>paramFormatPlain</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1777">paramFormatPlain</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1782">paramFormatPlain</a>()</pre>
 <div class="block">Configuration property:  Parameter format.
  
  <h5 class='section'>See Also:</h5>
@@ -3563,7 +3568,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireDefaultConstructor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1782">beansRequireDefaultConstructor</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1787">beansRequireDefaultConstructor</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireDefaultConstructor-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require no-arg constructors.
  
@@ -3592,7 +3597,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireDefaultConstructor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1788">beansRequireDefaultConstructor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1793">beansRequireDefaultConstructor</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireDefaultConstructor--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require no-arg constructors.
  
@@ -3617,7 +3622,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireSerializable</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1794">beansRequireSerializable</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1799">beansRequireSerializable</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSerializable-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require Serializable interface.
  
@@ -3646,7 +3651,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireSerializable</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1800">beansRequireSerializable</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1805">beansRequireSerializable</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSerializable--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require Serializable interface.
  
@@ -3671,7 +3676,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireSettersForGetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1806">beansRequireSettersForGetters</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1811">beansRequireSettersForGetters</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSettersForGetters-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require setters for getters.
  
@@ -3700,7 +3705,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireSettersForGetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1812">beansRequireSettersForGetters</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1817">beansRequireSettersForGetters</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSettersForGetters--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require setters for getters.
  
@@ -3725,7 +3730,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beansRequireSomeProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1818">beansRequireSomeProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1823">beansRequireSomeProperties</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beansRequireSomeProperties-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Beans require at least one property.
  
@@ -3754,7 +3759,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanMapPutReturnsOldValue</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1824">beanMapPutReturnsOldValue</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1829">beanMapPutReturnsOldValue</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanMapPutReturnsOldValue-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  BeanMap.put() returns old property value.
  
@@ -3784,7 +3789,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanMapPutReturnsOldValue</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1830">beanMapPutReturnsOldValue</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1835">beanMapPutReturnsOldValue</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanMapPutReturnsOldValue--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  BeanMap.put() returns old property value.
  
@@ -3809,7 +3814,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanConstructorVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1836">beanConstructorVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1841">beanConstructorVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanConstructorVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Minimum bean constructor visibility.
  
@@ -3837,7 +3842,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanClassVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1842">beanClassVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1847">beanClassVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanClassVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Minimum bean class visibility.
  
@@ -3869,7 +3874,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanFieldVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1848">beanFieldVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1853">beanFieldVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanFieldVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Minimum bean field visibility.
  
@@ -3897,7 +3902,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanMethodVisibility</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1854">beanMethodVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1859">beanMethodVisibility</a>(<a href="../../../../../org/apache/juneau/Visibility.html" title="enum in org.apache.juneau">Visibility</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanMethodVisibility-org.apache.juneau.Visibility-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Minimum bean method visibility.
  
@@ -3925,7 +3930,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useJavaBeanIntrospector</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1860">useJavaBeanIntrospector</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1865">useJavaBeanIntrospector</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#useJavaBeanIntrospector-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Use Java Introspector.
  
@@ -3958,7 +3963,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useJavaBeanIntrospector</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1866">useJavaBeanIntrospector</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1871">useJavaBeanIntrospector</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#useJavaBeanIntrospector--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Use Java Introspector.
  
@@ -3983,7 +3988,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useInterfaceProxies</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1872">useInterfaceProxies</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1877">useInterfaceProxies</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#useInterfaceProxies-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Use interface proxies.
  
@@ -4012,7 +4017,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreUnknownBeanProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1878">ignoreUnknownBeanProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1883">ignoreUnknownBeanProperties</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore unknown properties.
  
@@ -4041,7 +4046,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreUnknownBeanProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1884">ignoreUnknownBeanProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1889">ignoreUnknownBeanProperties</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownBeanProperties--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore unknown properties.
  
@@ -4066,7 +4071,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreUnknownNullBeanProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1890">ignoreUnknownNullBeanProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1895">ignoreUnknownNullBeanProperties</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreUnknownNullBeanProperties-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore unknown properties with null values.
  
@@ -4095,7 +4100,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignorePropertiesWithoutSetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1896">ignorePropertiesWithoutSetters</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1901">ignorePropertiesWithoutSetters</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignorePropertiesWithoutSetters-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore properties without setters.
  
@@ -4124,7 +4129,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreInvocationExceptionsOnGetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1902">ignoreInvocationExceptionsOnGetters</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1907">ignoreInvocationExceptionsOnGetters</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnGetters-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore invocation errors on getters.
  
@@ -4153,7 +4158,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreInvocationExceptionsOnGetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1908">ignoreInvocationExceptionsOnGetters</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1913">ignoreInvocationExceptionsOnGetters</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnGetters--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore invocation errors on getters.
  
@@ -4178,7 +4183,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreInvocationExceptionsOnSetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1914">ignoreInvocationExceptionsOnSetters</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1919">ignoreInvocationExceptionsOnSetters</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnSetters-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore invocation errors on setters.
  
@@ -4207,7 +4212,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>ignoreInvocationExceptionsOnSetters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1920">ignoreInvocationExceptionsOnSetters</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1925">ignoreInvocationExceptionsOnSetters</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#ignoreInvocationExceptionsOnSetters--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Ignore invocation errors on setters.
  
@@ -4232,7 +4237,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1926">sortProperties</a>(boolean&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1931">sortProperties</a>(boolean&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties-boolean-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Sort bean properties.
  
@@ -4261,7 +4266,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>sortProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1932">sortProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1937">sortProperties</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#sortProperties--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Sort bean properties.
  
@@ -4286,7 +4291,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanPackages</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1938">notBeanPackages</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1943">notBeanPackages</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanPackages-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean package exclusions.
  
@@ -4315,7 +4320,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanPackages</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1944">notBeanPackages</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1949">notBeanPackages</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanPackages-java.lang.String...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean package exclusions.
  
@@ -4339,7 +4344,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanPackages</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1950">notBeanPackages</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1955">notBeanPackages</a>(boolean&nbsp;append,
                                          <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanPackages-boolean-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean package exclusions.
@@ -4374,7 +4379,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanPackagesRemove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1956">notBeanPackagesRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1961">notBeanPackagesRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanPackagesRemove-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean package exclusions.
  
@@ -4403,7 +4408,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanClasses</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1962">notBeanClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1967">notBeanClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClasses-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean class exclusions.
  
@@ -4436,7 +4441,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanClasses</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1968">notBeanClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1973">notBeanClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClasses-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean class exclusions.
  
@@ -4464,7 +4469,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanClasses</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1974">notBeanClasses</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1979">notBeanClasses</a>(boolean&nbsp;append,
                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClasses-boolean-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean class exclusions.
@@ -4500,7 +4505,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>notBeanClassesRemove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1980">notBeanClassesRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1985">notBeanClassesRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#notBeanClassesRemove-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean class exclusions.
  
@@ -4529,7 +4534,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanFilters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1986">beanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1991">beanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanFilters-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean filters.
  
@@ -4565,7 +4570,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanFilters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1992">beanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1997">beanFilters</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanFilters-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean filters.
  
@@ -4592,7 +4597,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanFilters</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.1998">beanFilters</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2003">beanFilters</a>(boolean&nbsp;append,
                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanFilters-boolean-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean filters.
@@ -4628,7 +4633,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanFiltersRemove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2004">beanFiltersRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2009">beanFiltersRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanFiltersRemove-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean filters.
  
@@ -4662,7 +4667,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pojoSwaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2010">pojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2015">pojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwaps-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  POJO swaps.
  
@@ -4692,7 +4697,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pojoSwaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2016">pojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2021">pojoSwaps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwaps-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  POJO swaps.
  
@@ -4716,7 +4721,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pojoSwaps</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2022">pojoSwaps</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2027">pojoSwaps</a>(boolean&nbsp;append,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwaps-boolean-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  POJO swaps.
@@ -4755,7 +4760,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>pojoSwapsRemove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2028">pojoSwapsRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2033">pojoSwapsRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#pojoSwapsRemove-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  POJO swaps.
  
@@ -4785,7 +4790,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>implClasses</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2034">implClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html? [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2039">implClasses</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html? [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#implClasses-java.util.Map-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Implementation classes.
  
@@ -4814,7 +4819,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>implClass</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2040">implClass</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2045">implClass</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;interfaceClass,
                                        <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends T&gt;&nbsp;implClass)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#implClass-java.lang.Class-java.lang.Class-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Implementation classes.
@@ -4842,7 +4847,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanDictionary</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2046">beanDictionary</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2051">beanDictionary</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionary-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean dictionary.
  
@@ -4869,7 +4874,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanDictionary</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2052">beanDictionary</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2057">beanDictionary</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionary-java.lang.Class...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean dictionary.
  
@@ -4896,7 +4901,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanDictionary</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2058">beanDictionary</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2063">beanDictionary</a>(boolean&nbsp;append,
                                         <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionary-boolean-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean dictionary.
@@ -4925,7 +4930,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanDictionaryRemove</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2064">beanDictionaryRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2069">beanDictionaryRemove</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanDictionaryRemove-java.lang.Object...-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean dictionary.
  
@@ -4952,7 +4957,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>beanTypePropertyName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2070">beanTypePropertyName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2075">beanTypePropertyName</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#beanTypePropertyName-java.lang.String-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Bean type property name.
  
@@ -4981,7 +4986,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>locale</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2076">locale</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2081">locale</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#locale-java.util.Locale-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Locale.
  
@@ -5008,7 +5013,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>timeZone</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2082">timeZone</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2087">timeZone</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html?is-external=true" title="class or interface in java.util">TimeZone</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#timeZone-java.util.TimeZone-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  TimeZone.
  
@@ -5032,7 +5037,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>mediaType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2088">mediaType</a>(<a href="../../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;value)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2093">mediaType</a>(<a href="../../../../../org/apache/juneau/http/MediaType.html" title="class in org.apache.juneau.http">MediaType</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#mediaType-org.apache.juneau.http.MediaType-">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Media type.
  
@@ -5059,7 +5064,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>debug</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2094">debug</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2099">debug</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/BeanContextBuilder.html#debug--">BeanContextBuilder</a></code></span></div>
 <div class="block">Configuration property:  Debug mode.
  
@@ -5084,7 +5089,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>set</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2102">set</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2107">set</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#set-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
 <div class="block">Sets a configuration property on this object.</div>
@@ -5107,7 +5112,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>set</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2108">set</a>(boolean&nbsp;append,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2113">set</a>(boolean&nbsp;append,
                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#set-boolean-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
@@ -5132,7 +5137,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>set</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2114">set</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-exter [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2119">set</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-exter [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#set-java.util.Map-">ContextBuilder</a></code></span></div>
 <div class="block">Sets multiple configuration properties on this object.</div>
 <dl>
@@ -5153,7 +5158,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2120">add</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-exter [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2125">add</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-exter [...]
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#add-java.util.Map-">ContextBuilder</a></code></span></div>
 <div class="block">Adds multiple configuration properties on this object.</div>
 <dl>
@@ -5174,7 +5179,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addTo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2126">addTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2131">addTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#addTo-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
 <div class="block">Adds a value to a SET or LIST property.</div>
@@ -5195,7 +5200,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addTo</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2132">addTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2137">addTo</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
                                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#addTo-java.lang.String-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
@@ -5218,7 +5223,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFrom</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2138">removeFrom</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2143">removeFrom</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#removeFrom-java.lang.String-java.lang.Object-">ContextBuilder</a></code></span></div>
 <div class="block">Removes a value from a SET, LIST, or MAP property.</div>
@@ -5239,7 +5244,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>apply</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2144">apply</a>(<a href="../../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;copyFrom)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2149">apply</a>(<a href="../../../../../org/apache/juneau/PropertyStore.html" title="class in org.apache.juneau">PropertyStore</a>&nbsp;copyFrom)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/juneau/ContextBuilder.html#apply-org.apache.juneau.PropertyStore-">ContextBuilder</a></code></span></div>
 <div class="block">Copies the settings from the specified property store into this builder.</div>
 <dl>
@@ -5258,7 +5263,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setRedirectStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2159">setRedirectStrategy</a>(org.apache.http.client.RedirectStrategy&nbsp;redirectStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2164">setRedirectStrategy</a>(org.apache.http.client.RedirectStrategy&nbsp;redirectStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>redirectStrategy</code> - </dd>
@@ -5275,7 +5280,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultCookieSpecRegistry</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2169">setDefaultCookieSpecRegistry</a>(org.apache.http.config.Lookup&lt;org.apache.http.cookie.CookieSpecProvider&gt;&nbsp;cookieSpecRegistry)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2174">setDefaultCookieSpecRegistry</a>(org.apache.http.config.Lookup&lt;org.apache.http.cookie.CookieSpecProvider&gt;&nbsp;cookieSpecRegistry)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cookieSpecRegistry</code> - </dd>
@@ -5292,7 +5297,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setRequestExecutor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2179">setRequestExecutor</a>(org.apache.http.protocol.HttpRequestExecutor&nbsp;requestExec)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2184">setRequestExecutor</a>(org.apache.http.protocol.HttpRequestExecutor&nbsp;requestExec)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>requestExec</code> - </dd>
@@ -5309,7 +5314,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setSSLHostnameVerifier</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2189">setSSLHostnameVerifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2194">setSSLHostnameVerifier</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/HostnameVerifier.html?is-external=true" title="class or interface in javax.net.ssl">HostnameVerifier</a>&nbsp;hostnameVerifier)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>hostnameVerifier</code> - </dd>
@@ -5326,7 +5331,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setPublicSuffixMatcher</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2199">setPublicSuffixMatcher</a>(org.apache.http.conn.util.PublicSuffixMatcher&nbsp;publicSuffixMatcher)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2204">setPublicSuffixMatcher</a>(org.apache.http.conn.util.PublicSuffixMatcher&nbsp;publicSuffixMatcher)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>publicSuffixMatcher</code> - </dd>
@@ -5343,7 +5348,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setSSLContext</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2209">setSSLContext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2214">setSSLContext</a>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html?is-external=true" title="class or interface in javax.net.ssl">SSLContext</a>&nbsp;sslContext)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>sslContext</code> - </dd>
@@ -5360,7 +5365,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setSSLSocketFactory</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2219">setSSLSocketFactory</a>(org.apache.http.conn.socket.LayeredConnectionSocketFactory&nbsp;sslSocketFactory)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2224">setSSLSocketFactory</a>(org.apache.http.conn.socket.LayeredConnectionSocketFactory&nbsp;sslSocketFactory)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>sslSocketFactory</code> - </dd>
@@ -5377,7 +5382,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxConnTotal</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2229">setMaxConnTotal</a>(int&nbsp;maxConnTotal)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2234">setMaxConnTotal</a>(int&nbsp;maxConnTotal)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>maxConnTotal</code> - </dd>
@@ -5394,7 +5399,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxConnPerRoute</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2239">setMaxConnPerRoute</a>(int&nbsp;maxConnPerRoute)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2244">setMaxConnPerRoute</a>(int&nbsp;maxConnPerRoute)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>maxConnPerRoute</code> - </dd>
@@ -5411,7 +5416,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultSocketConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2249">setDefaultSocketConfig</a>(org.apache.http.config.SocketConfig&nbsp;config)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2254">setDefaultSocketConfig</a>(org.apache.http.config.SocketConfig&nbsp;config)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>config</code> - </dd>
@@ -5428,7 +5433,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultConnectionConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2259">setDefaultConnectionConfig</a>(org.apache.http.config.ConnectionConfig&nbsp;config)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2264">setDefaultConnectionConfig</a>(org.apache.http.config.ConnectionConfig&nbsp;config)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>config</code> - </dd>
@@ -5445,7 +5450,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setConnectionTimeToLive</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2270">setConnectionTimeToLive</a>(long&nbsp;connTimeToLive,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2275">setConnectionTimeToLive</a>(long&nbsp;connTimeToLive,
                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;connTimeToLiveTimeUnit)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -5464,7 +5469,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setConnectionManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2280">setConnectionManager</a>(org.apache.http.conn.HttpClientConnectionManager&nbsp;connManager)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2285">setConnectionManager</a>(org.apache.http.conn.HttpClientConnectionManager&nbsp;connManager)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>connManager</code> - </dd>
@@ -5481,7 +5486,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setConnectionManagerShared</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2291">setConnectionManagerShared</a>(boolean&nbsp;shared)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2296">setConnectionManagerShared</a>(boolean&nbsp;shared)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>shared</code> - </dd>
@@ -5498,7 +5503,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setConnectionReuseStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2301">setConnectionReuseStrategy</a>(org.apache.http.ConnectionReuseStrategy&nbsp;reuseStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2306">setConnectionReuseStrategy</a>(org.apache.http.ConnectionReuseStrategy&nbsp;reuseStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>reuseStrategy</code> - </dd>
@@ -5515,7 +5520,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setKeepAliveStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2311">setKeepAliveStrategy</a>(org.apache.http.conn.ConnectionKeepAliveStrategy&nbsp;keepAliveStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2316">setKeepAliveStrategy</a>(org.apache.http.conn.ConnectionKeepAliveStrategy&nbsp;keepAliveStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>keepAliveStrategy</code> - </dd>
@@ -5532,7 +5537,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setTargetAuthenticationStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2321">setTargetAuthenticationStrategy</a>(org.apache.http.client.AuthenticationStrategy&nbsp;targetAuthStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2326">setTargetAuthenticationStrategy</a>(org.apache.http.client.AuthenticationStrategy&nbsp;targetAuthStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>targetAuthStrategy</code> - </dd>
@@ -5549,7 +5554,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setProxyAuthenticationStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2331">setProxyAuthenticationStrategy</a>(org.apache.http.client.AuthenticationStrategy&nbsp;proxyAuthStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2336">setProxyAuthenticationStrategy</a>(org.apache.http.client.AuthenticationStrategy&nbsp;proxyAuthStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>proxyAuthStrategy</code> - </dd>
@@ -5566,7 +5571,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserTokenHandler</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2341">setUserTokenHandler</a>(org.apache.http.client.UserTokenHandler&nbsp;userTokenHandler)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2346">setUserTokenHandler</a>(org.apache.http.client.UserTokenHandler&nbsp;userTokenHandler)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>userTokenHandler</code> - </dd>
@@ -5583,7 +5588,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableConnectionState</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2350">disableConnectionState</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2355">disableConnectionState</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5598,7 +5603,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setSchemePortResolver</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2360">setSchemePortResolver</a>(org.apache.http.conn.SchemePortResolver&nbsp;schemePortResolver)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2365">setSchemePortResolver</a>(org.apache.http.conn.SchemePortResolver&nbsp;schemePortResolver)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>schemePortResolver</code> - </dd>
@@ -5615,7 +5620,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserAgent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2370">setUserAgent</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userAgent)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2375">setUserAgent</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userAgent)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>userAgent</code> - </dd>
@@ -5632,7 +5637,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultHeaders</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2380">setDefaultHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends org.apache.http.Header&gt;&nbsp;defaultHea [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2385">setDefaultHeaders</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends org.apache.http.Header&gt;&nbsp;defaultHea [...]
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>defaultHeaders</code> - </dd>
@@ -5649,7 +5654,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addInterceptorFirst</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2390">addInterceptorFirst</a>(org.apache.http.HttpResponseInterceptor&nbsp;itcp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2395">addInterceptorFirst</a>(org.apache.http.HttpResponseInterceptor&nbsp;itcp)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>itcp</code> - </dd>
@@ -5666,7 +5671,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addInterceptorLast</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2400">addInterceptorLast</a>(org.apache.http.HttpResponseInterceptor&nbsp;itcp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2405">addInterceptorLast</a>(org.apache.http.HttpResponseInterceptor&nbsp;itcp)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>itcp</code> - </dd>
@@ -5683,7 +5688,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addInterceptorFirst</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2410">addInterceptorFirst</a>(org.apache.http.HttpRequestInterceptor&nbsp;itcp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2415">addInterceptorFirst</a>(org.apache.http.HttpRequestInterceptor&nbsp;itcp)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>itcp</code> - </dd>
@@ -5700,7 +5705,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>addInterceptorLast</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2420">addInterceptorLast</a>(org.apache.http.HttpRequestInterceptor&nbsp;itcp)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2425">addInterceptorLast</a>(org.apache.http.HttpRequestInterceptor&nbsp;itcp)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>itcp</code> - </dd>
@@ -5717,7 +5722,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableCookieManagement</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2429">disableCookieManagement</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2434">disableCookieManagement</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5732,7 +5737,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableContentCompression</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2438">disableContentCompression</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2443">disableContentCompression</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5747,7 +5752,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableAuthCaching</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2447">disableAuthCaching</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2452">disableAuthCaching</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5762,7 +5767,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setHttpProcessor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2457">setHttpProcessor</a>(org.apache.http.protocol.HttpProcessor&nbsp;httpprocessor)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2462">setHttpProcessor</a>(org.apache.http.protocol.HttpProcessor&nbsp;httpprocessor)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>httpprocessor</code> - </dd>
@@ -5779,7 +5784,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setRetryHandler</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2467">setRetryHandler</a>(org.apache.http.client.HttpRequestRetryHandler&nbsp;retryHandler)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2472">setRetryHandler</a>(org.apache.http.client.HttpRequestRetryHandler&nbsp;retryHandler)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>retryHandler</code> - </dd>
@@ -5796,7 +5801,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableAutomaticRetries</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2476">disableAutomaticRetries</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2481">disableAutomaticRetries</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5811,7 +5816,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setProxy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2486">setProxy</a>(org.apache.http.HttpHost&nbsp;proxy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2491">setProxy</a>(org.apache.http.HttpHost&nbsp;proxy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>proxy</code> - </dd>
@@ -5828,7 +5833,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setRoutePlanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2496">setRoutePlanner</a>(org.apache.http.conn.routing.HttpRoutePlanner&nbsp;routePlanner)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2501">setRoutePlanner</a>(org.apache.http.conn.routing.HttpRoutePlanner&nbsp;routePlanner)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>routePlanner</code> - </dd>
@@ -5845,7 +5850,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>disableRedirectHandling</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2505">disableRedirectHandling</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2510">disableRedirectHandling</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -5860,7 +5865,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setConnectionBackoffStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2515">setConnectionBackoffStrategy</a>(org.apache.http.client.ConnectionBackoffStrategy&nbsp;connectionBackoffStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2520">setConnectionBackoffStrategy</a>(org.apache.http.client.ConnectionBackoffStrategy&nbsp;connectionBackoffStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>connectionBackoffStrategy</code> - </dd>
@@ -5877,7 +5882,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setBackoffManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2525">setBackoffManager</a>(org.apache.http.client.BackoffManager&nbsp;backoffManager)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2530">setBackoffManager</a>(org.apache.http.client.BackoffManager&nbsp;backoffManager)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>backoffManager</code> - </dd>
@@ -5894,7 +5899,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setServiceUnavailableRetryStrategy</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2535">setServiceUnavailableRetryStrategy</a>(org.apache.http.client.ServiceUnavailableRetryStrategy&nbsp;serviceUnavailStrategy)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2540">setServiceUnavailableRetryStrategy</a>(org.apache.http.client.ServiceUnavailableRetryStrategy&nbsp;serviceUnavailStrategy)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>serviceUnavailStrategy</code> - </dd>
@@ -5911,7 +5916,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultCookieStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2545">setDefaultCookieStore</a>(org.apache.http.client.CookieStore&nbsp;cookieStore)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2550">setDefaultCookieStore</a>(org.apache.http.client.CookieStore&nbsp;cookieStore)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>cookieStore</code> - </dd>
@@ -5928,7 +5933,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultCredentialsProvider</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2555">setDefaultCredentialsProvider</a>(org.apache.http.client.CredentialsProvider&nbsp;credentialsProvider)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2560">setDefaultCredentialsProvider</a>(org.apache.http.client.CredentialsProvider&nbsp;credentialsProvider)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>credentialsProvider</code> - </dd>
@@ -5945,7 +5950,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultAuthSchemeRegistry</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2565">setDefaultAuthSchemeRegistry</a>(org.apache.http.config.Lookup&lt;org.apache.http.auth.AuthSchemeProvider&gt;&nbsp;authSchemeRegistry)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2570">setDefaultAuthSchemeRegistry</a>(org.apache.http.config.Lookup&lt;org.apache.http.auth.AuthSchemeProvider&gt;&nbsp;authSchemeRegistry)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>authSchemeRegistry</code> - </dd>
@@ -5962,7 +5967,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setContentDecoderRegistry</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2575">setContentDecoderRegistry</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lan [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2580">setContentDecoderRegistry</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lan [...]
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>contentDecoderMap</code> - </dd>
@@ -5979,7 +5984,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>setDefaultRequestConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2585">setDefaultRequestConfig</a>(org.apache.http.client.config.RequestConfig&nbsp;config)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2590">setDefaultRequestConfig</a>(org.apache.http.client.config.RequestConfig&nbsp;config)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>config</code> - </dd>
@@ -5996,7 +6001,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>useSystemProperties</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2594">useSystemProperties</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2599">useSystemProperties</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -6011,7 +6016,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>evictExpiredConnections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2603">evictExpiredConnections</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2608">evictExpiredConnections</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>This object (for method chaining).</dd>
@@ -6026,7 +6031,7 @@ extends <a href="../../../../../org/apache/juneau/BeanContextBuilder.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>evictIdleConnections</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2614">evictIdleConnections</a>(long&nbsp;maxIdleTime,
+<pre>public&nbsp;<a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client">RestClientBuilder</a>&nbsp;<a href="../../../../../src-html/org/apache/juneau/rest/client/RestClientBuilder.html#line.2619">evictIdleConnections</a>(long&nbsp;maxIdleTime,
                                               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;maxIdleTimeUnit)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/package-summary.html b/content/site/apidocs/org/apache/juneau/rest/client/package-summary.html
index 9db1091..07d4525 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/package-summary.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/package-summary.html
@@ -226,927 +226,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.juneau.rest.client Description">Package org.apache.juneau.rest.client Description</h2>
-<div class="block"><p>REST Client API</p>
-
-<script>
-   function toggle(x) {
-      var div = x.nextSibling;
-      while (div != null && div.nodeType != 1)
-         div = div.nextSibling;
-      if (div != null) {
-         var d = div.style.display;
-         if (d == 'block' || d == '') {
-            div.style.display = 'none';
-            x.className += " closed";
-         } else {
-            div.style.display = 'block';
-            x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-         }
-      }
-   }
-</script>
-
-<a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
-<ol class='toc'>
-   <li><p><a class='doclink' href='#RestClient'>REST Client API</a></p>
-   <ol>
-      <li><p><a class='doclink' href='#SSL'>SSL Support</a></p>
-      <ol>
-         <li><p><a class='doclink' href='#SSLOpts'>SSLOpts Bean</a></p>
-      </ol>
-      <li><p><a class='doclink' href='#Authentication'>Authentication</a></p>
-      <ol>
-         <li><p><a class='doclink' href='#BASIC'>BASIC Authentication</a></p>
-         <li><p><a class='doclink' href='#FORM'>FORM-based Authentication</a></p>
-         <li><p><a class='doclink' href='#OIDC'>OIDC Authentication</a></p>
-      </ol>
-      <li><p><a class='doclink' href='#ResponsePatterns'>Using Response Patterns</a></p>
-      <li><p><a class='doclink' href='#PipingOutput'>Piping Response Output</a></p>
-      <li><p><a class='doclink' href='#Debugging'>Debugging</a></p>
-      <li><p><a class='doclink' href='#Logging'>Logging</a></p>
-      <li><p><a class='doclink' href='#Interceptors'>Interceptors</a></p>
-      <li><p><a class='doclink' href='#Remoteable'>Remoteable Proxies</a></p>
-      <li><p><a class='doclink' href='#Other'>Other Useful Methods</a></p>
-   </ol>
-</ol>
-
-<!-- ======================================================================================================== -->
-<a id="RestClient"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - REST Client API</h2>
-<div class='topic'>
-   <p>
-      Juneau provides an HTTP client API that makes it extremely simple to connect to remote REST interfaces and 
-      seemlessly send and receive serialized POJOs in requests and responses.  
-   </p>
-   
-   <h5 class='notes'>Features:</h5>
-   <ul class='notes'>
-      <li>
-         Converts POJOs directly to HTTP request message bodies using <a href="../../../../../org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a> 
-         classes.
-      <li>
-         Converts HTTP response message bodies directly to POJOs using <a href="../../../../../org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a> 
-         classes.
-      <li>
-         Exposes the full functionality of the Apache HttpClient API by exposing all methods defined on the 
-         <code>HttpClientBuilder</code> class.
-      <li>
-         Provides various convenience methods for setting up common SSL and authentication methods.
-      <li>
-         Provides a fluent interface that allows you to make complex REST calls in a single line of code.
-   </ul> 
-   <p>
-      The client API is designed to work as a thin layer on top of the proven Apache HttpClient API.  
-      By leveraging the HttpClient library, details such as SSL certificate negotiation, proxies, encoding, etc...
-      are all handled in Apache code. 
-   </p>
-   <p>
-      The Juneau client API prereq's Apache HttpClient 4.1.2+. 
-      At a minimum, the following jars are required:
-   </p>
-   <ul>
-      <li><code>httpclient-4.5.jar</code>
-      <li><code>httpcore-4.4.1.jar</code>
-      <li><code>httpmime-4.5.jar</code>
-   </ul>
-   
-   <h5 class='topic'>Example:</h5>
-   <p class='bcode'>
-   <jc>// Examples below use the Juneau Address Book resource example</jc>
-
-   <jc>// Create a reusable client with JSON support</jc>
-   RestClient client = RestClient.<jsm>create</jsm>().build();
-   
-   <jc>// GET request, ignoring output</jc>
-   <jk>try</jk> {
-      <jk>int</jk> rc = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>).run();
-      <jc>// Succeeded!</jc>
-   } <jk>catch</jk> (RestCallException e) {
-      <jc>// Failed!</jc>
-      System.<jsf>err</jsf>.println(
-         String.<jsm>format</jsm>(<js>"status=%s, message=%s"</js>, e.getResponseStatus(), e.getResponseMessage())
-      );
-   }
-         
-   <jc>// Remaining examples ignore thrown exceptions.</jc>    
-         
-   <jc>// GET request, secure, ignoring output</jc>
-   client.doGet(<js>"https://localhost:9443/sample/addressBook"</js>).run();
-         
-   <jc>// GET request, getting output as a String.  No POJO parsing is performed.
-   // Note that when calling one of the getX() methods, you don't need to call connect() or disconnect(), since
-   // it's automatically called for you.</jc>
-   String output = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
-      .getResponseAsString();
-         
-   <jc>// GET request, getting output as a Reader</jc>
-   Reader r = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
-      .getReader();
-         
-   <jc>// GET request, getting output as an untyped map</jc>
-   <jc>// Input must be an object (e.g. "{...}")</jc>
-   ObjectMap m = client.doGet(<js>"http://localhost:9080/sample/addressBook/0"</js>)
-      .getResponse(ObjectMap.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as an untyped list</jc>
-   <jc>// Input must be an array (e.g. "[...]")</jc>
-   ObjectList l = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
-      .getResponse(ObjectList.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as a parsed bean</jc>
-   <jc>// Input must be an object (e.g. "{...}")</jc>
-   <jc>// Note that you don't have to do any casting!</jc>
-   Person p = client.doGet(<js>"http://localhost:9080/sample/addressBook/0"</js>)
-      .getResponse(Person.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as a parsed bean</jc>
-   <jc>// Input must be an array of objects (e.g. "[{...},{...}]")</jc>
-   Person[] pa = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
-      .getResponse(Person[].<jk>class</jk>);
-         
-   <jc>// Same as above, except as a List&lt;Person&gt;</jc>
-   List&lt;Person&gt; pl = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
-      .getResponse(List.<jk>class</jk>, Person.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as a parsed string</jc>
-   <jc>// Input must be a string (e.g. "&lt;string&gt;foo&lt;/string&gt;" or "'foo'")</jc>
-   String name = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/name"</js>)
-      .getResponse(String.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as a parsed number</jc>
-   <jc>// Input must be a number (e.g. "&lt;number&gt;123&lt;/number&gt;" or "123")</jc>
-   <jk>int</jk> age = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/age"</js>)
-      .getResponse(Integer.<jk>class</jk>);
-         
-   <jc>// GET request, getting output as a parsed boolean</jc>
-   <jc>// Input must be a boolean (e.g. "&lt;boolean&gt;true&lt;/boolean&gt;" or "true")</jc>
-   <jk>boolean</jk> isCurrent = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/addresses/0/isCurrent"</js>)
-      .getResponse(Boolean.<jk>class</jk>);
-         
-   <jc>// GET request, getting a filtered object</jc>
-   client = RestClient.<jsm>create</jsm>().pojoSwaps(CalendarSwap.<jsf>ISO8601</jsf>.<jk>class</jk>).build();
-   Calendar birthDate = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/birthDate"</js>)
-      .getResponse(GregorianCalendar.<jk>class</jk>);
-
-   <jc>// PUT request on regular field</jc>
-   String newName = <js>"John Smith"</js>;
-   <jk>int</jk> rc = client.doPut(<js>"http://localhost:9080/addressBook/0/name"</js>, newName).run();
-   
-   <jc>// PUT request on filtered field</jc>
-   Calendar newBirthDate = <jk>new</jk> GregorianCalendar(1, 2, 3, 4, 5, 6);
-   rc = client.doPut(<js>"http://localhost:9080/sample/addressBook/0/birthDate"</js>, newBirthDate).run();
-   
-   <jc>// POST of a new entry to a list</jc>
-   Address newAddress = <jk>new</jk> Address(<js>"101 Main St"</js>, <js>"Anywhere"</js>, <js>"NY"</js>, 12121, <jk>false</jk>);
-   rc = client.doPost(<js>"http://localhost:9080/addressBook/0/addresses"</js>, newAddress).run(); 
-   </p>
-   
-   <h5 class='notes'>Notes:</h5>
-   <ul class='notes'>
-      <li>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> class exposes all the builder methods on the Apache 
-         HttpClient <code>HttpClientBuilder</code> class.
-         Use these methods to provide any customized HTTP client behavior.
-   </ul>
-   
-   <!-- ======================================================================================================== -->
-   <a id="SSL"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.1 - SSL Support</h3>
-   <div class='topic'>
-      <p>
-         The simplest way to enable SSL support in the client is to use the 
-         <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#enableSSL-org.apache.juneau.rest.client.SSLOpts-"><code>RestClientBuilder.enableSSL(SSLOpts)</code></a> method and one of the predefined 
-         <a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client"><code>SSLOpts</code></a> instances:
-      </p>
-      <ul>
-         <li><a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html#DEFAULT"><code>SSLOpts.DEFAULT</code></a> - Normal certificate and hostname validation.
-         <li><a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html#LAX"><code>SSLOpts.LAX</code></a> - Allows for self-signed certificates.
-      </ul>
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jc>// Create a client that ignores self-signed or otherwise invalid certificates.</jc>
-   RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
-      .enableSSL(SSLOpts.<jsf>LAX</jsf>);
-      
-   <jc>// ...or...</jc>
-   RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
-      .enableLaxSSL();
-      </p>
-      <p>
-         This is functionally equivalent to the following:
-      </p>
-      <p class='bcode'>
-   RestClientBuilder builder = RestClient.<jsm>create</jsm>();
-   
-   HostnameVerifier hv = <jk>new</jk> NoopHostnameVerifier();
-   TrustManager tm = <jk>new</jk> SimpleX509TrustManager(<jk>true</jk>);
-
-   <jk>for</jk> (String p : <jk>new</jk> String[]{<js>"SSL"</js>,<js>"TLS"</js>,<js>"SSL_TLS"</js>}) {
-      SSLContext ctx = SSLContext.<jsm>getInstance</jsm>(p);
-      ctx.init(<jk>null</jk>, <jk>new</jk> TrustManager[] { tm }, <jk>null</jk>);
-      SSLConnectionSocketFactory sf = <jk>new</jk> SSLConnectionSocketFactory(ctx, hv);
-      builder.setSSLSocketFactory(sf);
-      Registry&lt;ConnectionSocketFactory&gt; r = RegistryBuilder.&lt;ConnectionSocketFactory&gt;<jsm>.create</jsm>()
-         .register(<js>"https"</js>, sf).build();
-      builder.setConnectionManager(<jk>new</jk> PoolingHttpClientConnectionManager(r));
-   }
-      </p>
-      <p>
-         More complex SSL support can be enabled through the various <code>HttpClientBuilder</code> 
-         methods defined on the class.
-      </p>
-      
-      <!-- ======================================================================================================== -->
-      <a id="SSLOpts"></a>
-      <h4 class='topic' onclick='toggle(this)'>1.1.1 - SSLOpts Bean</h4>
-      <div class='topic'>
-         <p>
-            The <a href="../../../../../org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client"><code>SSLOpts</code></a> class itself is a bean that can be created by the 
-            parsers.
-            For example, SSL options can be specified in a config file and retrieved as a bean using the 
-            <a href="../../../../../org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini"><code>ConfigFile</code></a> class.
-         </p>
-         
-         <h5 class='figure'>Contents of <code>MyConfig.cfg</code></h5>
-         <p class='bcode'>
-      <jc>#================================================================================
-      # My Connection Settings
-      #================================================================================</jc>
-      [Connection]
-      url = https://myremotehost:9443
-      ssl = {certValidate:'LAX',hostVerify:'LAX'}
-         </p>
-         
-         <h5 class='figure'>Code that reads an <code>SSLOpts</code> bean from the config file</h5>
-         <p class='bcode'>
-      <jc>// Read config file and set SSL options based on what's in that file.</jc>
-      ConfigFile cf = ConfigFile.<jsm>create</jsm>().build(<js>"MyConfig.cfg"</js>);
-      SSLOpts ssl = cf.getObject(SSLOpts.<jk>class</jk>, <js>"Connection/ssl"</js>);
-      RestClient rc = <jk>new</jk> RestClient().enableSSL(ssl);
-         </p>
-      </div>
-   </div>   
-
-   <!-- ======================================================================================================== -->
-   <a id="Authentication"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.2 - Authentication</h3>
-   <div class='topic'>
-
-      <!-- ======================================================================================================== -->
-      <a id="BASIC"></a>
-      <h4 class='topic' onclick='toggle(this)'>1.2.1 - BASIC Authentication</h4>
-      <div class='topic'>
-         <p>
-            The <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#basicAuth-java.lang.String-int-java.lang.String-java.lang.String-"><code>RestClientBuilder.basicAuth(String,int,String,String)</code></a> method 
-            can be used to quickly enable BASIC authentication support.
-         </p>
-         
-         <h5 class='topic'>Example:</h5>
-         <p class='bcode'>
-   <jc>// Create a client that performs BASIC authentication using the specified user/pw.</jc>
-   RestClient restClient = RestClient.<jsm>create</jsm>() 
-      .basicAuth(<jsf>HOST</jsf>, <jsf>PORT</jsf>, <jsf>USER</jsf>, <jsf>PW</jsf>)
-      .build();
-         </p>
-         <p>
-            This is functionally equivalent to the following:
-         </p>
-         <p class='bcode'>
-   RestClientBuilder builder = RestClient.<jsm>create</jsm>();
-   AuthScope scope = <jk>new</jk> AuthScope(<jsf>HOST</jsf>, <jsf>PORT</jsf>);
-   Credentials up = <jk>new</jk> UsernamePasswordCredentials(<jsf>USER</jsf>, <jsf>PW</jsf>);
-   CredentialsProvider p = <jk>new</jk> BasicCredentialsProvider();
-   p.setCredentials(scope, up);
-   builder.setDefaultCredentialsProvider(p);
-         </p>
-      </div>
-   
-      <!-- ======================================================================================================== -->
-      <a id="FORM"></a>
-      <h4 class='topic' onclick='toggle(this)'>1.2.2 - FORM-based Authentication</h4>
-      <div class='topic'>
-         <p>
-            The <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> class does not itself provide FORM-based 
-            authentication since there is no standard way of providing such support. 
-            Typically, to perform FORM-based or other types of authentication, you'll want to create your own
-            subclass of <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> and override the 
-            <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#createHttpClient--"><code>RestClientBuilder.createHttpClient()</code></a> method to provide an 
-            authenticated client.
-         </p>
-         <p>
-            The following example shows how the <code>JazzRestClient</code> class provides FORM-based 
-            authentication support.
-         </p>
-         <p class='bcode'>
-   <jd>/**
-    * Constructor.
-    */</jd>
-   <jk>public</jk> JazzRestClientBuilder(URI jazzUri, String user, String pw) <jk>throws</jk> IOException {
-      ...
-   }
-
-   <jd>/**
-    * Override the createHttpClient() method to return an authenticated client.
-    */</jd>
-   <ja>@Override</ja> <jc>/* RestClientBuilder */</jc>
-   <jk>protected</jk> CloseableHttpClient createHttpClient() <jk>throws</jk> Exception {
-      CloseableHttpClient client = <jk>super</jk>.createHttpClient();
-      formBasedAuthenticate(client);
-      visitAuthenticatedURL(client);
-      <jk>return</jk> client;
-   }
-
-   <jc>/*
-    * Performs form-based authentication against the Jazz server.
-    */</jc>
-   <jk>private void</jk> formBasedAuthenticate(HttpClient client) <jk>throws</jk> IOException {
-
-      URI uri2 = <jf>jazzUri</jf>.resolve(<js>"j_security_check"</js>);
-      HttpPost request = <jk>new</jk> HttpPost(uri2);
-      request.setConfig(RequestConfig.<jsm>custom</jsm>().setRedirectsEnabled(<jk>false</jk>).build());
-      
-      <jc>// Charset must explicitly be set to UTF-8 to handle user/pw with non-ascii characters.</jc>
-      request.addHeader(<js>"Content-Type"</js>, <js>"application/x-www-form-urlencoded; charset=utf-8"</js>);
-
-      NameValuePairs params = <jk>new</jk> NameValuePairs()
-         .append(<jk>new</jk> BasicNameValuePair(<js>"j_username""</js>, <jf>user</jf>))
-         .append(<jk>new</jk> BasicNameValuePair(<js>"j_password"</js>, <jf>pw</jf>));
-      request.setEntity(<jk>new</jk> UrlEncodedFormEntity(params));
-
-      HttpResponse response = client.execute(request);
-      <jk>try</jk> {
-         <jk>int</jk> rc = response.getStatusLine().getStatusCode();
-
-         Header authMsg = response.getFirstHeader(<js>"X-com-ibm-team-repository-web-auth-msg"</js>);
-         <jk>if</jk> (authMsg != <jk>null</jk>)
-            <jk>throw new</jk> IOException(authMsg.getValue());
-
-         <jc>// The form auth request should always respond with a 200 ok or 302 redirect code</jc>
-         <jk>if</jk> (rc == <jsf>SC_MOVED_TEMPORARILY</jsf>) {
-            <jk>if</jk> (response.getFirstHeader(<js>"Location"</js>).getValue().matches(<js>"^.*/auth/authfailed.*$"</js>))
-               <jk>throw new</jk> IOException(<js>"Invalid credentials."</js>);
-         } <jk>else if</jk> (rc != <jsf>SC_OK</jsf>) {
-            <jk>throw new</jk> IOException(<js>"Unexpected HTTP status: "</js> + rc);
-         }
-      } <jk>finally</jk> {
-         EntityUtils.<jsm>consume</jsm>(response.getEntity());
-      }
-   }
-
-   <jc>/*
-    * This is needed for Tomcat because it responds with SC_BAD_REQUEST when the j_security_check URL is visited before an
-    * authenticated URL has been visited. This same URL must also be visited after authenticating with j_security_check
-    * otherwise tomcat will not consider the session authenticated
-    */</jc>
-   <jk>private int</jk> visitAuthenticatedURL(HttpClient httpClient) <jk>throws</jk> IOException {
-      HttpGet authenticatedURL = <jk>new</jk> HttpGet(<jf>jazzUri</jf>.resolve(<js>"authenticated/identity"</js>));
-      HttpResponse response = httpClient.execute(authenticatedURL);
-      <jk>try</jk> {
-         <jk>return</jk> response.getStatusLine().getStatusCode();
-      } <jk>finally</jk> {
-         EntityUtils.<jsm>consume</jsm>(response.getEntity());
-      }
-   }
-         </p>
-      </div>
-      
-      <!-- ======================================================================================================== -->
-      <a id="OIDC"></a>
-      <h4 class='topic' onclick='toggle(this)'>1.2.3 - OIDC Authentication</h4>
-      <div class='topic'>
-         <p>
-            The following example shows how the <code>JazzRestClient</code> class provides OIDC authentication 
-            support.
-         </p>
-   <p class='bcode'>
-   <jd>/**
-    * Constructor.
-    */</jd>
-   <jk>public</jk> JazzRestClientBuilder(URI jazzUri, String user, String pw) <jk>throws</jk> IOException {
-      ...
-   }
-
-   <jd>/**
-    * Override the createHttpClient() method to return an authenticated client.
-    */</jd>
-   <ja>@Override</ja> <jc>/* RestClientBuilder */</jc>
-   <jk>protected</jk> CloseableHttpClient createHttpClient() <jk>throws</jk> Exception {
-      CloseableHttpClient client = <jk>super</jk>.createHttpClient();
-      oidcAuthenticate(client);
-         <jk>return</jk> client;
-      }
-
-   <jk>private void</jk> oidcAuthenticate(HttpClient client) <jk>throws</jk> IOException {
-
-      HttpGet request = <jk>new</jk> HttpGet(<jf>jazzUri</jf>);
-      request.setConfig(RequestConfig.<jsm>custom</jsm>().setRedirectsEnabled(<jk>false</jk>).build());
-      
-      <jc>// Charset must explicitly be set to UTF-8 to handle user/pw with non-ascii characters.</jc>
-      request.addHeader(<js>"Content-Type"</js>, <js>"application/x-www-form-urlencoded; charset=utf-8"</js>);
-
-      HttpResponse response = client.execute(request);
-      <jk>try</jk> {
-         <jk>int</jk> code = response.getStatusLine().getStatusCode();
-
-         <jc>// Already authenticated</jc>
-         <jk>if</jk> (code == <jsf>SC_OK</jsf>)
-            <jk>return</jk>;
-
-         <jk>if</jk> (code != <jsf>SC_UNAUTHORIZED</jsf>)
-            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication: "</js> 
-               + response.getStatusLine());
-
-         <jc>// x-jsa-authorization-redirect</jc>
-         String redirectUri = getHeader(response, <js>"X-JSA-AUTHORIZATION-REDIRECT"</js>);
-
-         <jk>if</jk> (redirectUri == <jk>null</jk>)
-            <jk>throw new</jk> RestCallException(<js>"Expected a redirect URI during OIDC authentication: "</js> 
-               + response.getStatusLine());
-
-         <jc>// Handle Bearer Challenge</jc>
-         HttpGet method = <jk>new</jk> HttpGet(redirectUri + <js>"&amp;prompt=none"</js>);
-         addDefaultOidcHeaders(method);
-
-         response = client.execute(method);
-
-         code = response.getStatusLine().getStatusCode();
-
-         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
-            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 2: "</js> 
-               + response.getStatusLine());
-
-         String loginRequired = getHeader(response, <js>"X-JSA-LOGIN-REQUIRED"</js>);
-
-         <jk>if</jk> (! <js>"true"</js>.equals(loginRequired))
-            <jk>throw new</jk> RestCallException(<js>"X-JSA-LOGIN-REQUIRED header not found on response during OIDC authentication phase 2: "</js> 
-               + response.getStatusLine());
-
-         method = <jk>new</jk> HttpGet(redirectUri + <js>"&amp;prompt=none"</js>);
-
-         addDefaultOidcHeaders(method);
-         response = client.execute(method);
-
-         code = response.getStatusLine().getStatusCode();
-
-         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
-            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 3: "</js> 
-               + response.getStatusLine());
-
-         <jc>// Handle JAS Challenge</jc>
-         method = <jk>new</jk> HttpGet(redirectUri);
-         addDefaultOidcHeaders(method);
-
-         response = client.execute(method);
-
-         code = response.getStatusLine().getStatusCode();
-
-         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
-            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 4: "</js> 
-               + response.getStatusLine());
-
-         <jf>cookie</jf> = getHeader(response, <js>"Set-Cookie"</js>);
-
-         Header[] defaultHeaders = <jk>new</jk> Header[] {
-            <jk>new</jk> BasicHeader(<js>"User-Agent"</js>, <js>"Jazz Native Client"</js>),
-            <jk>new</jk> BasicHeader(<js>"X-com-ibm-team-configuration-versions"</js>, 
-               <js>"com.ibm.team.rtc=6.0.0,com.ibm.team.jazz.foundation=6.0"</js>),
-            <jk>new</jk> BasicHeader(<js>"Accept"</js>, <js>"text/json"</js>),
-            <jk>new</jk> BasicHeader(<js>"Authorization"</js>, <js>"Basic "</js> 
-               + StringUtils.<jsm>base64EncodeToString</jsm>(<jf>user</jf> + <js>":"</js> + <jf>pw</jf>)),
-            <jk>new</jk> BasicHeader(<js>"Cookie"</js>, cookie)
-   };
-
-         setDefaultHeaders(Arrays.<jsm>asList</jsm>(defaultHeaders));
-
-      } <jk>finally</jk> {
-         EntityUtils.<jsm>consume</jsm>(response.getEntity());
-      }
-   }
-
-   <jk>private void</jk> addDefaultOidcHeaders(HttpRequestBase method) {
-      method.addHeader(<js>"User-Agent"</js>, <js>"Jazz Native Client"</js>);
-      method.addHeader(<js>"X-com-ibm-team-configuration-versions"</js>, 
-         <js>"com.ibm.team.rtc=6.0.0,com.ibm.team.jazz.foundation=6.0"</js>);
-      method.addHeader(<js>"Accept"</js>, <js>"text/json"</js>);
-
-      <jk>if</jk> (<jf>cookie</jf> != <jk>null</jk>) {
-         method.addHeader(<js>"Authorization"</js>, <js>"Basic "</js> 
-            + StringUtils.<jsm>base64EncodeToString</jsm>(<jf>user</jf> + <js>":"</js> + <jf>pw</jf>));
-         method.addHeader(<js>"Cookie"</js>, cookie);
-      }
-   }
-         </p>  
-      </div>
-   </div>
-
-   <!-- ======================================================================================================== -->
-   <a id="ResponsePatterns"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.3 - Using Response Patterns</h3>
-   <div class='topic'>
-      <p>
-         One issue with REST (and HTTP in general) is that the HTTP response code must be set as a header before the 
-         body of the request is sent.  This can be problematic when REST calls invoke long-running processes, pipes
-         the results through the connection, and then fails after an HTTP 200 has already been sent.
-      </p>
-      <p>
-         One common solution is to serialize some text at the end to indicate whether the long-running process 
-         succeeded (e.g. <js>"FAILED"</js> or <js>"SUCCEEDED"</js>).
-      </p>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> class has convenience methods for scanning the 
-         response without interfering with the other methods used for retrieving output.  
-      </p>
-      <p>
-         The following example shows how the <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#successPattern-java.lang.String-"><code>RestCall.successPattern(String)</code></a> 
-         method can be used to look for a SUCCESS message in the output:
-      </p>  
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jc>// Throw a RestCallException if SUCCESS is not found in the output.</jc>
-   restClient.doPost(<jsf>URL</jsf>)
-      .successPattern(<js>"SUCCESS"</js>)
-      .run();
-      </p>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#failurePattern-java.lang.String-"><code>RestCall.failurePattern(String)</code></a> method does the opposite.  
-         It throws an exception if a failure message is detected.
-      </p>  
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jc>// Throw a RestCallException if FAILURE or ERROR is found in the output.</jc>
-   restClient.doPost(<jsf>URL</jsf>)
-      .failurePattern(<js>"FAILURE|ERROR"</js>)
-      .run();
-      </p>
-      <p>
-         These convenience methods are specialized methods that use the 
-         <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#responsePattern-org.apache.juneau.rest.client.ResponsePattern-"><code>RestCall.responsePattern(ResponsePattern)</code></a> method which uses regular 
-         expression matching against the response body.
-         This method can be used to search for arbitrary patterns in the response body.
-      </p>
-      <p>
-         The following example shows how to use a response pattern finder to find and capture patterns for 
-         <js>"x=number"</js> and <js>"y=string"</js> from a response body.
-      </p>  
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jk>final</jk> List&lt;Number&gt; xList = <jk>new</jk> ArrayList&lt;Number&gt;();
-   <jk>final</jk> List&lt;String&gt; yList = <jk>new</jk> ArrayList&lt;String&gt;();
-   
-   String responseText = restClient.doGet(<jsf>URL</jsf>)
-      .addResponsePattern(
-         <jk>new</jk> ResponsePattern(<js>"x=(\\d+)"</js>) {
-            <ja>@Override</ja>
-            <jk>public void</jk> onMatch(RestCall restCall, Matcher m) <jk>throws</jk> RestCallException {
-               xList.add(Integer.<jsm>parseInt</jsm>(m.group(1)));
-            }
-            <ja>@Override</ja>
-            <jk>public void</jk> onNoMatch(RestCall restCall) <jk>throws</jk> RestCallException {
-               <jk>throw new</jk> RestCallException(<js>"No X's found!"</js>);
-            }
-         }
-      )
-      .addResponsePattern(
-         <jk>new</jk> ResponsePattern(<js>"y=(\\S+)"</js>) {
-            <ja>@Override</ja>
-            <jk>public void</jk> onMatch(RestCall restCall, Matcher m) <jk>throws</jk> RestCallException {
-               yList.add(m.group(1));
-            }
-            <ja>@Override</ja>
-            <jk>public void</jk> onNoMatch(RestCall restCall) <jk>throws</jk> RestCallException {
-               <jk>throw new</jk> RestCallException(<js>"No Y's found!"</js>);
-            }
-         }
-      )
-      .getResponseAsString();
-      </p>
-      <p>
-         Using response patterns does not affect the functionality of any of the other methods
-         used to retrieve the response such as <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#getResponseAsString--"><code>RestCall.getResponseAsString()</code></a> 
-         or <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#getResponse-java.lang.Class-"><code>RestCall.getResponse(Class)</code></a>.<br>
-         HOWEVER, if you want to retrieve the entire text of the response from inside the match methods,
-         use <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#getCapturedResponse--"><code>RestCall.getCapturedResponse()</code></a> since this method will not absorb 
-         the response for those other methods.
-      </p>
-   </div>
-   
-   <!-- ======================================================================================================== -->
-   <a id="PipingOutput"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.4 - Piping Response Output</h3>
-   <div class='topic'>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a> class provides various convenience <code>pipeTo()</code> 
-         methods to pipe output to output streams and writers.
-      </p>
-      <p>
-         If you want to pipe output without any intermediate buffering, you can use the 
-         <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#byLines--"><code>RestCall.byLines()</code></a> method.  
-         This will cause the output to be piped and flushed after every line.  
-         This can be useful if you want to display the results in real-time from a long running process producing
-         output on a REST call.
-      </p>
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jc>// Pipe output from REST call to System.out in real-time.</jc>
-   restClient.doPost(<jsf>URL</jsf>).byLines().pipeTo(<jk>new</jk> PrintWriter(System.<jk>out</jk>)).run();
-      </p>
-   </div>   
-   
-   <!-- ======================================================================================================== -->
-   <a id="Debugging"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.5 - Debugging</h3>
-   <div class='topic'>
-      <p>
-         Use the <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#debug--"><code>RestClientBuilder.debug()</code></a> method to enable logging for HTTP requests
-         made from the client.
-      </p>
-      <p>
-         Under-the-covers, this is simply a shortcut for adding the <a href="../../../../../org/apache/juneau/rest/client/RestCallLogger.html#DEFAULT"><code>RestCallLogger.DEFAULT</code></a> 
-         interceptor to the client.  
-         This causes the following output to be generated by the Java <code>org.apache.juneau.rest.client</code> 
-         logger at <jsf>WARNING</jsf> level:
-      </p>
-      <p class='bcode'>
-   === HTTP Call (outgoing) =======================================================
-   === REQUEST ===
-   POST http://localhost:10000/testUrl HTTP/1.1
-   ---request headers---
-      Debug: true
-      No-Trace: true
-      Accept: application/json
-   ---request entity---
-      Content-Type: application/json
-   ---request content---
-   {"foo":"bar","baz":123}
-   === RESPONSE ===
-   HTTP/1.1 200 OK
-   ---response headers---
-      Content-Type: application/json;charset=utf-8
-      Content-Length: 21
-      Server: Jetty(8.1.0.v20120127)
-   ---response content---
-   {"message":"OK then"}
-   === END ========================================================================
-      </p>
-      <p>
-         This setting also causes a <code>Debug: true</code> header value to trigger logging of the request on the 
-         server side as well.
-      </p>
-      <p class='bcode'>
-   === HTTP Request (incoming) ====================================================
-   HTTP POST /testUrl
-   ---Headers---
-      Host: localhost:10000
-      Transfer-Encoding: chunked
-      Accept: application/json
-      Content-Type: application/json
-      User-Agent: Apache-HttpClient/4.5 (Java/1.6.0_65)
-      Connection: keep-alive
-      Debug: true
-      Accept-Encoding: gzip,deflate
-   ---Default Servlet Headers---
-   ---Body---
-   {"foo":"bar","baz":123}
-   === END ========================================================================
-      </p>
-   </div>
-   
-   <!-- ======================================================================================================== -->
-   <a id="Logging"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.6 - Logging</h3>
-   <div class='topic'>
-      <p>
-         Use the <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#logTo-java.util.logging.Level-java.util.logging.Logger-"><code>RestClientBuilder.logTo(Level,Logger)</code></a> and 
-         <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#logTo-java.util.logging.Level-java.util.logging.Logger-"><code>RestCall.logTo(Level,Logger)</code></a> methods to log HTTP calls.
-         These methods will cause the HTTP request and response headers and body to be logged to the specified logger.  
-      </p>
-      
-      <h5 class='topic'>Example:</h5>
-      <p class='bcode'>
-   <jc>// Log the HTTP request/response to the specified logger.</jc>
-   <jk>int</jk> rc = restClient.doGet(<jsf>URL</jsf>).logTo(<jsf>INFO</jsf>, getLogger()).run();
-      </p>
-      <p>
-         The method call is ignored if the logger level is below the specified level.
-      </p>
-      <p>
-         Customized logging can be handled by sub-classing the <a href="../../../../../org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> 
-         class and using the  <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#interceptor-org.apache.juneau.rest.client.RestCallInterceptor-"><code>RestCall.interceptor(RestCallInterceptor)</code></a> method.
-      </p>
-   </div>
-   
-   <!-- ======================================================================================================== -->
-   <a id="Interceptors"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.7 - Interceptors</h3>
-   <div class='topic'>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#interceptors-org.apache.juneau.rest.client.RestCallInterceptor...-"><code>RestClientBuilder.interceptors(RestCallInterceptor...)</code></a> and 
-         <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#interceptor-org.apache.juneau.rest.client.RestCallInterceptor-"><code>RestCall.interceptor(RestCallInterceptor)</code></a> methods can be used to 
-         intercept responses during specific connection lifecycle events.
-      </p>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> class is an example of an interceptor that uses 
-         the various lifecycle methods to log HTTP requests.
-      </p>
-      <p class='bcode'>
-   <jd>/**
-    * Specialized interceptor for logging calls to a log file.
-    */</jd>
-   <jk>public class</jk> RestCallLogger <jk>extends</jk> RestCallInterceptor {
-   
-      <jk>private</jk> Level <jf>level</jf>;
-      <jk>private</jk> Logger <jf>log</jf>;
-   
-      <jd>/**
-       * Constructor.
-       *
-       * <ja>@param</ja> level The log level to log messages at.
-       * <ja>@param</ja> log The logger to log to.
-       */</jd>
-      <jk>protected</jk> RestCallLogger(Level level, Logger log) {
-         <jk>this</jk>.<jf>level</jf> = level;
-         <jk>this</jk>.<jf>log</jf> = log;
-      }
-   
-      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
-      <jk>public void</jk> onInit(RestCall restCall) {
-         <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>))
-            restCall.captureResponse();
-      }
-   
-      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
-      <jk>public void</jk> onConnect(RestCall restCall, <jk>int</jk> statusCode, HttpRequest req, HttpResponse res) {
-         <jc>// Do nothing.</jc>
-      }
-   
-      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
-      <jk>public void</jk> onRetry(RestCall restCall, <jk>int</jk> statusCode, HttpRequest req, HttpResponse res) {
-         <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>))
-            <jf>log</jf>.log(level, MessageFormat.<jsm>format</jsm>(<js>"Call to {0} returned {1}.  Will retry."</js>, req.getRequestLine().getUri(), statusCode)); 
-      }
-   
-      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
-      <jk>public void</jk> onClose(RestCall restCall) <jk>throws</jk> RestCallException {
-         <jk>try</jk> {
-            <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>)) {
-               String output = restCall.getCapturedResponse();
-               StringBuilder sb = <jk>new</jk> StringBuilder();
-               HttpUriRequest req = restCall.getRequest();
-               HttpResponse res = restCall.getResponse();
-               <jk>if</jk> (req != <jk>null</jk>) {
-                  sb.append(<js>"\n=== HTTP Call (outgoing) ========================================================="</js>);
-   
-                  sb.append(<js>"\n=== REQUEST ===\n"</js>).append(req);
-                  sb.append(<js>"\n---request headers---"</js>);
-                  <jk>for</jk> (Header h : req.getAllHeaders())
-                     sb.append(<js>"\n"</js>).append(h);
-                  <jk>if</jk> (req <jk>instanceof</jk> HttpEntityEnclosingRequestBase) {
-                     sb.append(<js>"\n---request entity---"</js>);
-                     HttpEntityEnclosingRequestBase req2 = (HttpEntityEnclosingRequestBase)req;
-                     HttpEntity e = req2.getEntity();
-                     <jk>if</jk> (e == <jk>null</jk>)
-                        sb.append(<js>"\nEntity is null"</js>);
-                     <jk>else</jk> {
-                        <jk>if</jk> (e.getContentType() != <jk>null</jk>)
-                           sb.append(<js>"\n"</js>).append(e.getContentType());
-                        <jk>if</jk> (e.getContentEncoding() != <jk>null</jk>)
-                           sb.append(<js>"\n"</js>).append(e.getContentEncoding());
-                        <jk>if</jk> (e.isRepeatable()) {
-                           <jk>try</jk> {
-                              sb.append(<js>"\n---request content---\n"</js>).append(EntityUtils.<jsm>toString</jsm>(e));
-                           } <jk>catch</jk> (Exception ex) {
-                              <jk>throw new</jk> RuntimeException(ex);
-                           }
-                        }
-                     }
-                  }
-               }
-               <jk>if</jk> (res != <jk>null</jk>) {
-                  sb.append(<js>"\n=== RESPONSE ===\n"</js>).append(res.getStatusLine());
-                  sb.append(<js>"\n---response headers---"</js>);
-                  <jk>for</jk> (Header h : res.getAllHeaders())
-                     sb.append(<js>"\n"</js>).append(h);
-                  sb.append(<js>"\n---response content---\n"</js>).append(output);
-                  sb.append(<js>"\n=== END ========================================================================"</js>);
-               }
-               <jf>log</jf>.log(<jf>level</jf>, sb.toString());
-            }
-         } <jk>catch</jk> (IOException e) {
-            <jf>log</jf>.log(Level.<jsf>SEVERE</jsf>, e.getLocalizedMessage(), e);
-         }
-      }
-   }
-      </p>
-   </div>
-
-   <!-- ======================================================================================================== -->
-   <a id="Remoteable"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.8 - Remoteable Proxies</h3>
-   <div class='topic'>
-      <p>
-         Juneau provides the capability of calling methods on POJOs on a server through client-side proxy interfaces.
-         It offers a number of advantages over other similar remote proxy interfaces, such as being much simpler to 
-         use and allowing much more flexibility.
-      </p>
-      <p>
-         Proxy interfaces are retrieved using the <a href="../../../../../org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-"><code>RestClient.getRemoteableProxy(Class)</code></a> 
-         method.
-         The remoteable servlet is a specialized subclass of <a href="../../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> that 
-         provides a full-blown REST interface for calling interfaces remotely. 
-      </p>
-      <p>
-         In this example, we have the following interface defined that we want to call from the client side against
-         a POJO on the server side (i.e. a Remoteable Service)...
-      </p>
-      <p class='bcode'>
-   <jk>public interface</jk> IAddressBook {
-      Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
-   }
-      </p>        
-      <p>
-         The client side code for invoking this method is shown below...
-      </p>
-      <p class='bcode'>
-   <jc>// Create a RestClient using JSON for serialization, and point to the server-side remoteable servlet.</jc>
-   RestClient client = RestClient.<jsm>create</jsm>()
-      .rootUrl(<js>"https://localhost:9080/juneau/sample/remoteable"</js>)
-      .build();
-   
-   <jc>// Create a proxy interface.</jc>
-   IAddressBook ab = client.getRemoteableProxy(IAddressBook.<jk>class</jk>);
-   
-   <jc>// Invoke a method on the server side and get the returned result.</jc>
-   Person p = ab.createPerson(
-      <jk>new</jk> CreatePerson(<js>"Test Person"</js>,
-         AddressBook.<jsm>toCalendar</jsm>(<js>"Aug 1, 1999"</js>),
-         <jk>new</jk> CreateAddress(<js>"Test street"</js>, <js>"Test city"</js>, <js>"Test state"</js>, 12345, <jk>true</jk>))
-   );
-      </p>
-      <p>
-         The requirements for a method to be callable through a remoteable service are:
-      </p>
-      <ul class='spaced-list'>
-         <li>
-            The method must be public.
-         <li>
-            The parameter and return types must be <a href='../../../../../overview-summary.html#juneau-marshall.PojoCategories'>serializable and parsable</a>.
-      </ul>
-      <p>
-         One significant feature is that the remoteable services servlet is a full-blown REST interface.  
-         Therefore, in cases where the interface classes are not available on the client side, the same method calls 
-         can be made through pure REST calls.  
-         This can also aid significantly in debugging since calls to the remoteable service can be called directly 
-         from a browser with no code involved.
-      </p>
-   </div>
-
-   <!-- ======================================================================================================== -->
-   <a id="Other"></a>
-   <h3 class='topic' onclick='toggle(this)'>1.9 - Other Useful Methods</h3>
-   <div class='topic'>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#rootUrl-java.lang.Object-"><code>RestClientBuilder.rootUrl(Object)</code></a> method can be used to specify a 
-         root URL on all requests so that you don't have to use absolute paths on individual calls.
-      </p>
-      <p class='bcode'>
-   <jc>// Create a rest client with a root URL</jc>
-   RestClient rc = RestClient.<jsm>create</jsm>().rootUrl(<js>"http://localhost:9080/foobar"</js>).build();
-   String r = rc.doGet(<js>"/baz"</js>).getResponseAsString();  <jc>// Gets "http://localhost:9080/foobar/baz"</jc>
-      </p>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestClientBuilder.html#set-java.lang.String-java.lang.Object-"><code>RestClientBuilder.set(String,Object)</code></a> method can be used to 
-         set serializer and parser properties.
-         For example, if you're parsing a response into POJOs and you want to ignore fields that aren't on the
-         POJOs, you can use the <a href="../../../../../org/apache/juneau/BeanContext.html#BEAN_ignoreUnknownBeanProperties"><code>BeanContext.BEAN_ignoreUnknownBeanProperties</code></a> property.
-      </p>
-      <p class='bcode'>
-   <jc>// Create a rest client that ignores unknown fields in the response</jc>
-   RestClient rc = RestClient.<jsm>create</jsm>()
-      .set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
-      <jc>// or .ignoreUnknownBeanProperties(true)</jc>
-      .build();
-   MyPojo myPojo = rc.doGet(<jsf>URL</jsf>).getResponse(MyPojo.<jk>class</jk>);
-      </p>
-      <p>
-         The <a href="../../../../../org/apache/juneau/rest/client/RestCall.html#retryable-int-long-org.apache.juneau.rest.client.RetryOn-"><code>RestCall.retryable(int,long,RetryOn)</code></a> method can be used to 
-         automatically retry requests on failures.
-         This can be particularly useful if you're attempting to connect to a REST resource that may be in the 
-         process of still initializing.
-      </p>
-      <p class='bcode'>
-   <jc>// Create a rest call that retries every 10 seconds for up to 30 minutes as long as a connection fails
-   // or a 400+ is received.</jc>
-   restClient.doGet(<jsf>URL</jsf>)
-      .retryable(180, 10000, RetryOn.<jsf>DEFAULT</jsf>)
-      .run();
-   </p>
-   </div>
-</div></div>
+<div class="block">REST Client API</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs/org/apache/juneau/rest/client/package-tree.html b/content/site/apidocs/org/apache/juneau/rest/client/package-tree.html
index 99102ac..aabfd9f 100644
--- a/content/site/apidocs/org/apache/juneau/rest/client/package-tree.html
+++ b/content/site/apidocs/org/apache/juneau/rest/client/package-tree.html
@@ -115,7 +115,7 @@
 <ul>
 <li type="circle">org.apache.juneau.<a href="../../../../../org/apache/juneau/BeanContext.html" title="class in org.apache.juneau"><span class="typeNameLink">BeanContext</span></a>
 <ul>
-<li type="circle">org.apache.juneau.rest.client.<a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestClient</span></a></li>
+<li type="circle">org.apache.juneau.rest.client.<a href="../../../../../org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestClient</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 </ul>
 </li>
 </ul>
@@ -146,7 +146,7 @@
 <ul>
 <li type="circle">org.apache.juneau.<a href="../../../../../org/apache/juneau/BeanSession.html" title="class in org.apache.juneau"><span class="typeNameLink">BeanSession</span></a>
 <ul>
-<li type="circle">org.apache.juneau.rest.client.<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestCall</span></a></li>
+<li type="circle">org.apache.juneau.rest.client.<a href="../../../../../org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestCall</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 </ul>
 </li>
 </ul>
diff --git a/content/site/apidocs/org/apache/juneau/rest/jaxrs/package-summary.html b/content/site/apidocs/org/apache/juneau/rest/jaxrs/package-summary.html
index 529dfbf..04f295b 100644
--- a/content/site/apidocs/org/apache/juneau/rest/jaxrs/package-summary.html
+++ b/content/site/apidocs/org/apache/juneau/rest/jaxrs/package-summary.html
@@ -122,103 +122,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.juneau.rest.jaxrs Description">Package org.apache.juneau.rest.jaxrs Description</h2>
-<div class="block"><p>JAX-RS Integration</p>
-
-<script>
-   function toggle(x) {
-      var div = x.nextSibling;
-      while (div != null && div.nodeType != 1)
-         div = div.nextSibling;
-      if (div != null) {
-         var d = div.style.display;
-         if (d == 'block' || d == '') {
-            div.style.display = 'none';
-            x.className += " closed";
-         } else {
-            div.style.display = 'block';
-            x.className = x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-         }
-      }
-   }
-</script>
-
-<p>
-   Defines an API and default provides for using Juneau serializers and parsers as JAX-RS providers.
-</p>
-
-<a id='TOC'></a><h5 class='toc'>Table of Contents</h5>
-<ol class='toc'>
-   <li><p><a class='doclink' href='#BaseProvider'>Juneau JAX-RS Provider</a></p>
-</ol>
-
-<!-- ======================================================================================================== -->
-<a id="BaseProvider"></a>
-<h2 class='topic' onclick='toggle(this)'>1 - Juneau JAX-RS Provider</h2>
-<div class='topic'>
-   <p>
-      The Juneau framework contains the <code>org.apache.juneau.rest.jaxrs</code> package for performing simple
-         integration of Juneau serializers and parsers in JAX-RS compliant environments.
-   </p>
-   <p>
-      It should be noted that although some of the functionality of the Juneau Server API is provided through the JAX-RS 
-         integration components, it is not nearly as flexible as using the <a href="../../../../../org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> class directly.
-   </p>
-   <p>
-      What you can do with the Juneau JAX-RS provider classes:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         Use existing Juneau serializers and parsers for converting streams to POJOs and vis-versa.
-      <li>
-         Use annotations to specify filters and properties using the <a href="../../../../../org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestMethod</code></a>
-         and <a href="../../../../../org/apache/juneau/rest/jaxrs/JuneauProvider.html" title="annotation in org.apache.juneau.rest.jaxrs"><code>JuneauProvider</code></a> annotations.
-   </ul>
-   <p>
-      What you can't do with the Juneau JAX-RS provider classes:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         Specify or override serializers/parsers at the Java class and method levels.
-         <br>JAX-RS does not provide the capability to use different providers for the same media types
-         at the class or method levels. 
-      <li>
-         Specify or override filters and properties at the Java class level.
-      <li>
-         Default stylesheets for the <a href="../../../../../org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html"><code>HtmlDocSerializer</code></a> class.
-         <br>It will produce HTML, but it won't contain any styles applied.
-      <li>
-         The ability to specify HTTP method, headers, and content using GET parameters.
-         <br>These make debugging REST interfaces using only a browser possible.
-      <li>
-         Class or method level encoding.
-      <li>
-         Class or method level guards.
-      <li>
-         Class or method level converters.
-   </ul>
-   
-   <h5 class='topic'>Juneau JAX-RS Provider API</h5>
-   <p>
-      The Juneau JAX-RS provider API consists of the following classes:
-   </p>
-   <ul class='spaced-list'>
-      <li>
-         <a href="../../../../../org/apache/juneau/rest/jaxrs/BaseProvider.html" title="class in org.apache.juneau.rest.jaxrs"><code>BaseProvider</code></a> - The base provider class that implements the JAX-RS 
-         <code>MessageBodyReader</code> and <code>MessageBodyWriter</code> interfaces.
-      <li>
-         <a href="../../../../../org/apache/juneau/rest/jaxrs/JuneauProvider.html" title="annotation in org.apache.juneau.rest.jaxrs"><code>JuneauProvider</code></a> - Annotation that is applied to subclasses of <code>BaseProvider</code>
-         to specify the serializers/parsers associated with a provider, and optionally filters and properties to 
-         apply to those serializers and parsers.
-      <li>
-         <a href="../../../../../org/apache/juneau/rest/jaxrs/DefaultProvider.html" title="class in org.apache.juneau.rest.jaxrs"><code>DefaultProvider</code></a> - A default provider that provides the same level
-         of media type support as the <a href="../../../../../org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest"><code>RestServletDefault</code></a> class.
-   </ul>
-   <p>
-      For the most part, when using these components, you'll either use the existing <code>DefaultProvider</code> or
-         <code>JuneauProvider</code> providers, or define your own by subclassing <code>BaseProvider</code>.
-   
-   </p>
-</div></div>
+<div class="block">JAX-RS Integration</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html
index 45f6d1c..6c53a73 100644
--- a/content/site/apidocs/overview-summary.html
+++ b/content/site/apidocs/overview-summary.html
@@ -560,6 +560,7 @@
       <li><p><a class='doclink' href='#juneau-rest-server.HtmlDocAnnotation'>@HtmlDoc</a></p>
       <ol>
          <li><p><a class='doclink' href='#juneau-rest-server.Widgets'>Widgets</a></p>
+         <li><p><a class='doclink' href='#juneau-rest-server.PredefinedWidgets'>Predefined Widgets</a></p>
          <li><p><a class='doclink' href='#juneau-rest-server.UiCustomization'>UI Customization</a></p>
          <li><p><a class='doclink' href='#juneau-rest-server.Stylesheets'>Stylesheets</a></p>
       </ol>
@@ -582,12 +583,54 @@
       <li><p><a class='doclink' href='#juneau-rest-server.OtherNotes'>Other Notes</a></p>
    </ol>
    <li><p><a class='doclink' href='#juneau-rest-server-jaxrs'><i>juneau-rest-server-jaxrs</i></a></p>
+   <ol>
+      <li><p><a class='doclink' href='#juneau-rest-server-jaxrs.BaseProvider'>Juneau JAX-RS Provider</a></p>
+   </ol> 
    <li><p><a class='doclink' href='#juneau-rest-client'><i>juneau-rest-client</i></a></p>
    <ol>
       <li><p><a class='doclink' href='#juneau-rest-client.3rdPartyProxies'>Interface Proxies Against 3rd-party REST Interfaces</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.SSL'>SSL Support</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-rest-client.SSLOpts'>SSLOpts Bean</a></p>
+      </ol>
+      <li><p><a class='doclink' href='#juneau-rest-client.Authentication'>Authentication</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-rest-client.BASIC'>BASIC Authentication</a></p>
+         <li><p><a class='doclink' href='#juneau-rest-client.FORM'>FORM-based Authentication</a></p>
+         <li><p><a class='doclink' href='#juneau-rest-client.OIDC'>OIDC Authentication</a></p>
+      </ol>
+      <li><p><a class='doclink' href='#juneau-rest-client.ResponsePatterns'>Using Response Patterns</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.PipingOutput'>Piping Response Output</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.Debugging'>Debugging</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.Logging'>Logging</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.Interceptors'>Interceptors</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.Remoteable'>Remoteable Proxies</a></p>
+      <li><p><a class='doclink' href='#juneau-rest-client.Other'>Other Useful Methods</a></p>
    </ol>
    <li><p><a class='doclink' href='#juneau-microservice-server'><i>juneau-microservice-server</i></a></p>
-   <li><p><a class='doclink' href='#juneau-microservice-template'><i>juneau-microservice-template</i></a></p>
+   <ol>
+      <li><p><a class='doclink' href='#juneau-microservice-server.Introduction'>Microservice Introduction</a></p>
+      <li><p><a class='doclink' href='#juneau-microservice-server.GettingStarted'>Getting Started</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-microservice-server.Installing'>Installing in Eclipse</a></p>
+         <li><p><a class='doclink' href='#juneau-microservice-server.Running'>Running in Eclipse</a></p>
+         <li><p><a class='doclink' href='#juneau-microservice-server.Building'>Building and Running from Command-Line</a></p>
+      </ol>
+      <li><p><a class='doclink' href='#juneau-microservice-server.Manifest'>Manifest File</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-microservice-server.ManifestApi'>Manifest API</a></p>
+      </ol>
+      <li><p><a class='doclink' href='#juneau-microservice-server.ConfigFile'>Config File</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-microservice-server.ConfigFileApi'>Config File API</a></p>
+      </ol>
+      <li><p><a class='doclink' href='#juneau-microservice-server.ResourceClasses'>Resource Classes</a></p>
+      <li><p><a class='doclink' href='#juneau-microservice-server.PredefinedResourceClasses'>Predefined Resource Classes</a></p>
+      <li><p><a class='doclink' href='#juneau-microservice-server.RestMicroservice'>RestMicroservice</a></p>
+      <ol>
+         <li><p><a class='doclink' href='#juneau-microservice-server.ExtendingRestMicroservice'>Extending RestMicroservice</a></p>
+      </ol>
+   </ol>
    <li><p><a class='doclink' href='#juneau-examples-core'><i>juneau-examples-core</i></a></p>
    <li><p><a class='doclink' href='#juneau-examples-rest'><i>juneau-examples-rest</i></a></p>
    <ol>
@@ -696,7 +739,7 @@
             <th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prerequisites</th>
          </tr>
          <tr class='dark bb'>
-            <td rowspan="5" style='text-align:center;font-weight:bold;padding:20px;' class='code'><a class='doclink' href='#juneau-core'>juneau-core</a></td>
+            <td rowspan="5" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-core</td>
             <td class='code'><a class='doclink' href='#juneau-marshall'>juneau-marshall</a></td>
             <td>Serializers and parsers for:
                <ul style='margin:0px 10px;'>
@@ -767,7 +810,7 @@
             <td><ul style='margin:0px 10px;'><li>Java 6</li></ul></td>
          </tr>
          <tr class='light bb'>
-            <td rowspan="3" style='text-align:center;font-weight:bold;padding:20px;' class='code'><a class='doclink' href='#juneau-rest'>juneau-rest</a></td>
+            <td rowspan="3" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-rest</td>
             <td class='code'><a class='doclink' href='#juneau-rest-server'>juneau-rest-server</a></td>
             <td>
                REST Servlet API
@@ -804,7 +847,7 @@
             </td>
          </tr>
          <tr class='dark bb'>
-            <td rowspan="2" style='text-align:center;font-weight:bold;padding:20px;' class='code'><a class='doclink' href='#juneau-microservice'>juneau-microservice</a></td>
+            <td rowspan="2" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-microservice</td>
             <td class='code'><a class='doclink' href='#juneau-microservice-server'>juneau-microservice-server</a></td>
             <td>
                REST Microservice Server API
@@ -816,20 +859,8 @@
                </ul>
             </td>
          </tr>
-         <tr class='dark bb'>
-            <td class='code'><a class='doclink' href='#juneau-microservice-template'>juneau-microservice-template</a></td>
-            <td>
-               Developer template project
-            </td>
-            <td>
-               <ul style='margin:0px 10px;'>
-                  <li>Java 8
-                  <li>Eclipse Jetty 9.4.3
-               </ul>
-            </td>
-         </tr>
          <tr class='light bb'>
-            <td rowspan="2" style='text-align:center;font-weight:bold;padding:20px;' class='code'><a class='doclink' href='#juneau-examples'>juneau-examples</a></td>
+            <td rowspan="2" style='text-align:center;font-weight:bold;padding:20px;' class='code'>juneau-examples</td>
             <td class='code'><a class='doclink' href='#juneau-examples-core'>juneau-examples-core</a></td>
             <td>
                Core code examples
@@ -5170,22 +5201,19 @@
                   <a href="org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>org.apache.juneau.rest.RestServlet</code></a>
                   <br>Contains all the main logic.
                   <ul>
-                     <li class='jac'>
-                        <a href="org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest"><code>org.apache.juneau.rest.RestServletDefault</code></a>
+                     <li class='jac'><a href="org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest"><code>org.apache.juneau.rest.RestServletDefault</code></a>
                         <br>Provides a default set of serializers, parsers, options page, stylesheet, and other common settings.
                         <br><b>Developers will typically subclass this when creating REST resources in JEE environments.</b> 
                         <ul>
-                           <li class='jac'>
-                              <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>org.apache.juneau.microservice.Resource</code></a>
-                              <br>Subclass intended to be used in REST microservices.
+                           <li class='jac'><a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>org.apache.juneau.microservice.Resource</code></a>
+                              <br>Identical to <l>RestServletDefault</l> but provides support for <code>$ARGS</code> and <code>$MF</code> variables.
                               <br><b>Developers will typically subclass this when creating microservices.</b> 
-                           <li class='jac'>
-                              <a href="org/apache/juneau/rest/RestServletGroupDefault.html" title="class in org.apache.juneau.rest"><code>org.apache.juneau.rest.RestServletGroupDefault</code></a>
+                           <li class='jac'><a href="org/apache/juneau/rest/RestServletGroupDefault.html" title="class in org.apache.juneau.rest"><code>org.apache.juneau.rest.RestServletGroupDefault</code></a>
                               <br>A default implementation for "router" pages.
                               <ul>
-                                 <li class='jac'>
-                                    <a href="org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>org.apache.juneau.microservice.ResourceGroup</code></a>
-                                    <br>Subclass intended to be used in REST microservices.
+                                 <li class='jac'><a href="org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>org.apache.juneau.microservice.ResourceGroup</code></a>
+                                 <br>Identical to <l>RestServletGroupDefault</l> but provides support for <code>$ARGS</code> and <code>$MF</code> variables.
+                                 <br><b>Developers will typically subclass this when creating microservice groups.</b> 
                               </ul>
                            </li>
                         </ul>
@@ -5317,11 +5345,18 @@
             <js>"&lt;h2&gt;$R{methodSummary,resourceDescription}&lt;/h2&gt;"</js>,
             <js>"&lt;a href='http://juneau.apache.org'&gt;&lt;img src='$U{servlet:/htdocs/juneau.png}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'/&gt;&lt;/a&gt;"</js>
          },
+         navlinks={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         },
          stylesheet=<js>"servlet:/styles/light.css"</js>,
          head={
             <js>"&lt;link rel='icon' href='$U{servlet:/htdocs/juneau.png}'/&gt;"</js>
          }
       ),
+      
+      <jc>// Optional external configuration file.</jc>
+      config=<js>"$S{juneau.configFile}"</js>,
    
       <jc>// These are static files that are served up by the servlet under the specified sub-paths.
       // For example, "/servletPath/htdocs/javadoc.css" resolves to the file "[servlet-package]/htdocs/javadoc.css"</jc>
@@ -7482,9 +7517,7 @@
          Variables take the form <l>$X{contents}</l> where <l>X</l> can consist of zero or more ASCII characters and <l>contents</l> can be virtually anything.
          <br>This is called Simple Variable Language, or SVL, and is defined here: <a class='doclink' href='#juneau-svl'>juneau-svl</a>.
       </p>
-      <p>
-         Features include:
-      </p>
+      <h5 class='topic'>Features</h5>
       <ul class='spaced-list'>
          <li>
             Variables can be nested arbitrarily deep (e.g. <l>"$X{$Y{foo}}"</l>).
@@ -8313,8 +8346,15 @@
       </div>
 
       <!-- ======================================================================================================== -->
+      <a id="juneau-rest-server.PredefinedWidgets"></a>
+      <h4 class='topic' onclick='toggle(this)'>7.24.2 - Predefined Widgets</h4>
+      <div class='topic'>
+         TODO
+      </div>
+      
+      <!-- ======================================================================================================== -->
       <a id="juneau-rest-server.UiCustomization"></a>
-      <h4 class='topic' onclick='toggle(this)'>7.24.2 - UI Customization</h4>
+      <h4 class='topic' onclick='toggle(this)'>7.24.3 - UI Customization</h4>
       <div class='topic'>
          <p>
             The HTML views of POJOs can somewhat be considered a rudimentary User Interface.
@@ -8439,7 +8479,7 @@
 
       <!-- ======================================================================================================== -->
       <a id="juneau-rest-server.Stylesheets"></a>
-      <h4 class='topic' onclick='toggle(this)'>7.24.3 - Stylesheets</h4>
+      <h4 class='topic' onclick='toggle(this)'>7.24.4 - Stylesheets</h4>
       <div class='topic'>
          <p>
             The sample root page renders in the default "devops" look-and-feel:
@@ -9663,7 +9703,7 @@
       
       <h5 class='section'>See Also:</h5>
       <ul>
-         <li class='jf'><a href="org/apache/juneau/dto/LinkString.html" title="class in org.apache.juneau.dto"><code>LinkString</code></a>
+         <li class='jc'><a href="org/apache/juneau/dto/LinkString.html" title="class in org.apache.juneau.dto"><code>LinkString</code></a>
       </ul>
    </div>
    
@@ -9714,10 +9754,72 @@
       JAX/RS environment. 
    </p>
 
-   <h5 class='toc'>Additional Information - org.apache.juneau.rest.jaxrs</h5>
-   <ol class='toc'>
-      <li><p><a class='doclink' href='org/apache/juneau/rest/jaxrs/package-summary.html#BaseProvider'>Juneau JAX-RS Provider</a></p>
-   </ol>
+   <!-- ======================================================================================================== -->
+   <a id="juneau-rest-server-jaxrs.BaseProvider"></a>
+   <h3 class='topic' onclick='toggle(this)'>8.1 - Juneau JAX-RS Provider</h3>
+   <div class='topic'>
+      <p>
+         The Juneau framework contains the <l>juneau-rest-server-jaxrs</l> bundle for performing simple
+         integration of Juneau serializers and parsers in JAX-RS compliant environments.
+      </p>
+      <p>
+         It should be noted that although some of the functionality of the Juneau Server API is provided through the JAX-RS 
+         integration components, it is not nearly as flexible as using the <a href="org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> class directly.
+      </p>
+      <p>
+         What you can do with the Juneau JAX-RS provider classes:
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            Use existing Juneau serializers and parsers for converting streams to POJOs and vis-versa.
+         <li>
+            Use annotations to specify filters and properties using the <a href="org/apache/juneau/rest/annotation/RestMethod.html" title="annotation in org.apache.juneau.rest.annotation"><code>@RestMethod</code></a>
+            and <a href="org/apache/juneau/rest/jaxrs/JuneauProvider.html" title="annotation in org.apache.juneau.rest.jaxrs"><code>JuneauProvider</code></a> annotations.
+      </ul>
+      <p>
+         What you can't do with the Juneau JAX-RS provider classes:
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            Specify or override serializers/parsers at the Java class and method levels.
+            <br>JAX-RS does not provide the capability to use different providers for the same media types
+            at the class or method levels. 
+         <li>
+            Specify or override filters and properties at the Java class level.
+         <li>
+            Default stylesheets for the <a href="org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html"><code>HtmlDocSerializer</code></a> class.
+            <br>It will produce HTML, but it won't contain any styles applied.
+         <li>
+            The ability to specify HTTP method, headers, and content using GET parameters.
+            <br>These make debugging REST interfaces using only a browser possible.
+         <li>
+            Class or method level encoding.
+         <li>
+            Class or method level guards.
+         <li>
+            Class or method level converters.
+      </ul>
+      
+      <p>
+         The Juneau JAX-RS provider API consists of the following classes:
+      </p>
+      <ul class='spaced-list'>
+         <li class='jc'>
+            <a href="org/apache/juneau/rest/jaxrs/BaseProvider.html" title="class in org.apache.juneau.rest.jaxrs"><code>BaseProvider</code></a> - The base provider class that implements the JAX-RS 
+            <code>MessageBodyReader</code> and <code>MessageBodyWriter</code> interfaces.
+         <li class='jc'>
+            <a href="org/apache/juneau/rest/jaxrs/JuneauProvider.html" title="annotation in org.apache.juneau.rest.jaxrs"><code>JuneauProvider</code></a> - Annotation that is applied to subclasses of <code>BaseProvider</code>
+            to specify the serializers/parsers associated with a provider, and optionally filters and properties to 
+            apply to those serializers and parsers.
+         <li class='jc'>
+            <a href="org/apache/juneau/rest/jaxrs/DefaultProvider.html" title="class in org.apache.juneau.rest.jaxrs"><code>DefaultProvider</code></a> - A default provider that provides the same level
+            of media type support as the <a href="org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest"><code>RestServletDefault</code></a> class.
+      </ul>
+      <p>
+         For the most part, when using these components, you'll either use the existing <l>DefaultProvider</l> or
+         <l>JuneauProvider</l> providers, or define your own by subclassing <l>BaseProvider</l>.
+      </p>
+   </div>
 </div>
 
 <!-- =========================================================================================================== -->
@@ -9754,53 +9856,162 @@
    </p>
    <p class='bcode'>
    <jc>// Create a reusable JSON client.</jc>
-   RestClient client = RestClient.<jsm>create</jsm>().build();
-   
-   <jc>// The address of the root resource.</jc>
-   String url = <js>"http://localhost:9080/sample/addressBook"</js>;
-   
-   <jc>// Do a REST GET against a remote REST interface and convert
-   // the response to an unstructured ObjectMap object.</jc>
-   ObjectMap m1 = client.doGet(url).getResponse(ObjectMap.<jk>class</jk>);
+   <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().build()) {
    
-   <jc>// Same as above, except parse the JSON as a bean.</jc>
-   AddressBook a2 = client.doGet(url).getResponse(AddressBook.<jk>class</jk>);
-   
-   <jc>// Add a person to the address book.
-   // Use XML as the transport medium.</jc>
-   client = RestClient.<jsm>create</jsm>().serializer(XmlSerializer.<jk>class</jk>).parser(XmlSerializer.<jk>class</jk>).build();
-   Person p = <jk>new</jk> Person(<js>"Joe Smith"</js>, 21);
-   <jk>int</jk> returnCode = client.doPost(url + <js>"/entries"</js>, p).run();
+      <jc>// The address of the root resource.</jc>
+      String url = <js>"http://localhost:9080/sample/addressBook"</js>;
+      
+      <jc>// Do a REST GET against a remote REST interface and convert
+      // the response to an unstructured ObjectMap object.</jc>
+      ObjectMap m1 = client.doGet(url).getResponse(ObjectMap.<jk>class</jk>);
+      
+      <jc>// Same as above, except parse the JSON as a bean.</jc>
+      AddressBook a2 = client.doGet(url).getResponse(AddressBook.<jk>class</jk>);
+   }
+      
+   <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().serializer(XmlSerializer.<jk>class</jk>).parser(XmlSerializer.<jk>class</jk>).build()) {
+      <jc>// Add a person to the address book.
+      // Use XML as the transport medium.</jc>
+      Person p = <jk>new</jk> Person(<js>"Joe Smith"</js>, 21);
+      <jk>int</jk> returnCode = client.doPost(url + <js>"/entries"</js>, p).run();
+   }
+   </p>
+   <p>
+      Juneau provides an HTTP client API that makes it extremely simple to connect to remote REST interfaces and 
+      seemlessly send and receive serialized POJOs in requests and responses.  
    </p>
    
+   <h5 class='topic'>Features</h5>
+   <ul class='spaced-list'>
+      <li>
+         Converts POJOs directly to HTTP request message bodies using <a href="org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a> 
+         classes.
+      <li>
+         Converts HTTP response message bodies directly to POJOs using <a href="org/apache/juneau/parser/Parser.html" title="class in org.apache.juneau.parser"><code>Parser</code></a> 
+         classes.
+      <li>
+         Exposes the full functionality of the Apache HttpClient API by exposing all methods defined on the 
+         <code>HttpClientBuilder</code> class.
+      <li>
+         Provides various convenience methods for setting up common SSL and authentication methods.
+      <li>
+         Provides a fluent interface that allows you to make complex REST calls in a single line of code.
+   </ul> 
+   <p>
+      The client API is designed to work as a thin layer on top of the proven Apache HttpClient API.  
+      By leveraging the HttpClient library, details such as SSL certificate negotiation, proxies, encoding, etc...
+      are all handled in Apache code. 
+   </p>
    <p>
-      The Client API is also an exhaustive topic on its own.  
-      Refer to the additional information for an in-depth examination of the API.
+      The Juneau client API prereq's Apache HttpClient 4.5+. 
+      At a minimum, the following jars are required:
    </p>
+   <ul>
+      <li><code>httpclient-4.5.jar</code>
+      <li><code>httpcore-4.4.1.jar</code>
+      <li><code>httpmime-4.5.jar</code>
+   </ul>
    
-   <h5 class='toc'>Additional Information - org.apache.juneau.rest.client</h5>
-   <ol class='toc'>
-      <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#RestClient'>REST Client API</a></p>
-      <ol>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#SSL'>SSL Support</a></p>
-         <ol>
-            <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#SSLOpts'>SSLOpts Bean</a></p>
-         </ol>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Authentication'>Authentication</a></p>
-         <ol>
-            <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#BASIC'>BASIC Authentication</a></p>
-            <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#FORM'>FORM-based Authentication</a></p>
-            <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#OIDC'>OIDC Authentication</a></p>
-         </ol>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#ResponsePatterns'>Using Response Patterns</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#PipingOutput'>Piping Response Output</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Debugging'>Debugging</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Logging'>Logging</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Interceptors'>Interceptors</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Remoteable'>Remoteable Proxies</a></p>
-         <li><p><a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#Other'>Other Useful Methods</a></p>
-      </ol>
-   </ol>
+   <h5 class='figure'>Example:</h5>
+   <p class='bcode'>
+   <jc>// Examples below use the Juneau Address Book resource example</jc>
+
+   <jc>// Create a reusable client with JSON support</jc>
+   <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().build()) {
+   
+      <jc>// GET request, ignoring output</jc>
+      <jk>try</jk> {
+         <jk>int</jk> rc = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>).run();
+         <jc>// Succeeded!</jc>
+      } <jk>catch</jk> (RestCallException e) {
+         <jc>// Failed!</jc>
+         System.<jsf>err</jsf>.println(
+            String.<jsm>format</jsm>(<js>"status=%s, message=%s"</js>, e.getResponseStatus(), e.getResponseMessage())
+         );
+      }
+            
+      <jc>// Remaining examples ignore thrown exceptions.</jc>    
+            
+      <jc>// GET request, secure, ignoring output</jc>
+      client.doGet(<js>"https://localhost:9443/sample/addressBook"</js>).run();
+            
+      <jc>// GET request, getting output as a String.  No POJO parsing is performed.
+      // Note that when calling one of the getX() methods, you don't need to call connect() or disconnect(), since
+      // it's automatically called for you.</jc>
+      String output = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
+         .getResponseAsString();
+            
+      <jc>// GET request, getting output as a Reader</jc>
+      Reader r = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
+         .getReader();
+            
+      <jc>// GET request, getting output as an untyped map</jc>
+      <jc>// Input must be an object (e.g. "{...}")</jc>
+      ObjectMap m = client.doGet(<js>"http://localhost:9080/sample/addressBook/0"</js>)
+         .getResponse(ObjectMap.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as an untyped list</jc>
+      <jc>// Input must be an array (e.g. "[...]")</jc>
+      ObjectList l = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
+         .getResponse(ObjectList.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as a parsed bean</jc>
+      <jc>// Input must be an object (e.g. "{...}")</jc>
+      <jc>// Note that you don't have to do any casting!</jc>
+      Person p = client.doGet(<js>"http://localhost:9080/sample/addressBook/0"</js>)
+         .getResponse(Person.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as a parsed bean</jc>
+      <jc>// Input must be an array of objects (e.g. "[{...},{...}]")</jc>
+      Person[] pa = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
+         .getResponse(Person[].<jk>class</jk>);
+            
+      <jc>// Same as above, except as a List&lt;Person&gt;</jc>
+      List&lt;Person&gt; pl = client.doGet(<js>"http://localhost:9080/sample/addressBook"</js>)
+         .getResponse(List.<jk>class</jk>, Person.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as a parsed string</jc>
+      <jc>// Input must be a string (e.g. "&lt;string&gt;foo&lt;/string&gt;" or "'foo'")</jc>
+      String name = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/name"</js>)
+         .getResponse(String.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as a parsed number</jc>
+      <jc>// Input must be a number (e.g. "&lt;number&gt;123&lt;/number&gt;" or "123")</jc>
+      <jk>int</jk> age = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/age"</js>)
+         .getResponse(Integer.<jk>class</jk>);
+            
+      <jc>// GET request, getting output as a parsed boolean</jc>
+      <jc>// Input must be a boolean (e.g. "&lt;boolean&gt;true&lt;/boolean&gt;" or "true")</jc>
+      <jk>boolean</jk> isCurrent = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/addresses/0/isCurrent"</js>)
+         .getResponse(Boolean.<jk>class</jk>);
+   }
+            
+   <jc>// GET request, getting a filtered object</jc>
+   <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().pojoSwaps(CalendarSwap.<jsf>ISO8601</jsf>.<jk>class</jk>).build()) {
+      Calendar birthDate = client.doGet(<js>"http://localhost:9080/sample/addressBook/0/birthDate"</js>)
+         .getResponse(GregorianCalendar.<jk>class</jk>);
+   
+      <jc>// PUT request on regular field</jc>
+      String newName = <js>"John Smith"</js>;
+      <jk>int</jk> rc = client.doPut(<js>"http://localhost:9080/addressBook/0/name"</js>, newName).run();
+      
+      <jc>// PUT request on filtered field</jc>
+      Calendar newBirthDate = <jk>new</jk> GregorianCalendar(1, 2, 3, 4, 5, 6);
+      rc = client.doPut(<js>"http://localhost:9080/sample/addressBook/0/birthDate"</js>, newBirthDate).run();
+      
+      <jc>// POST of a new entry to a list</jc>
+      Address newAddress = <jk>new</jk> Address(<js>"101 Main St"</js>, <js>"Anywhere"</js>, <js>"NY"</js>, 12121, <jk>false</jk>);
+      rc = client.doPost(<js>"http://localhost:9080/addressBook/0/addresses"</js>, newAddress).run(); 
+   }
+   </p>
+   
+   <h5 class='section'>Notes:</h5>
+   <ul class='spaced-list'>
+      <li>
+         The <a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> class exposes all the builder methods on the Apache 
+         HttpClient <code>HttpClientBuilder</code> class.
+         <br>Use these methods to provide any customized HTTP client behavior.
+   </ul>
 
    <!-- ======================================================================================================= -->
    <a id="juneau-rest-client.3rdPartyProxies"></a>
@@ -9808,7 +10019,7 @@
    <div class='topic'>
       <p>
          The <code>juneau-rest-client</code> library can also be used to define interface proxies against 3rd-party REST interfaces.
-         This is an extremely powerful feature that allows you to quickly define easy-to-use interfaces against 
+         <br>This is an extremely powerful feature that allows you to quickly define easy-to-use interfaces against 
          virtually any REST interface.
       </p>
       <p>
@@ -9817,6 +10028,7 @@
          post parameters, or request/response bodies.
       </p>
       <p class='bcode'> 
+   <jc>// Our interface.</jc>
    <ja>@Remoteable</ja>
    <jk>public interface</jk> MyProxyInterface {
       
@@ -9824,75 +10036,89 @@
       String callMyMethod(<ja>@Header</ja>(<js>"E-Tag"</js>) UUID etag, <ja>@Query</ja>(<js>"debug"</js>) <jk>boolean</jk> debug, <ja>@Body</ja> MyPojo pojo);
    }
    
-   RestClient client = RestClient.<jsm>create</jsm>().build();
-   MyProxyInterface p = client.getRemoteableProxy(MyProxyInterface.<jk>class</jk>, <js>"http://hostname/some/rest/interface"</js>);
-   String response = p.callMyMethod(UUID.<jsm>generate</jsm>(), <jk>true</jk>, <jk>new</jk> MyPojo());
+   <jc>// Use a RestClient with default JSON support.</jc>
+   <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().build()) {
+      MyProxyInterface p = client.getRemoteableProxy(MyProxyInterface.<jk>class</jk>, <js>"http://hostname/some/rest/interface"</js>);
+      String response = p.callMyMethod(UUID.<jsm>randomUUID</jsm>(), <jk>true</jk>, <jk>new</jk> MyPojo());
+   }
+      </p>
+      <p>
+         The call above translates to the following REST call:
+      </p>
+      <p class='bcode'>
+   POST http://hostname/some/rest/interface/method?debug=true HTTP/1.1
+   Accept: application/json
+   Content-Type: application/json
+   E-Tag: 475588d4-0b27-4f56-9296-cc683251d314
+   
+   { "foo": "bar", "baz": 123, "qux": true}
       </p>
+   
       <p>
          The Java method arguments can be annotated with any of the following:
       </p>
       <ul class='spaced-list'>
-         <li>
-            <a href="org/apache/juneau/remoteable/Query.html" title="annotation in org.apache.juneau.remoteable"><code>@Query</code></a> - A URL query parameter.
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/Query.html" title="annotation in org.apache.juneau.remoteable"><code>Query</code></a> - A URL query parameter.
             <br>The argument can be any of the following types:
             <ul>
-               <li>Any serializable POJO 
+               <li class='normal'>Any serializable POJO 
                   - Converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
-               <li><code>Map&lt;String,Object&gt;</code> 
+               <li class='normal'><code>Map&lt;String,Object&gt;</code> 
                   - Individual name-value pairs.
                   <br>Values are converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
-               <li><code>String</code> 
+               <li class='normal'><code>String</code> 
                   - Treated as a query string.
             </ul>
-         <li>
-            <a href="org/apache/juneau/remoteable/QueryIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@QueryIfNE</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/QueryIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>QueryIfNE</code></a> 
             - Same as <ja>@Query</ja> except skips the value if it's null/empty.
-         <li>
-            <a href="org/apache/juneau/remoteable/FormData.html" title="annotation in org.apache.juneau.remoteable"><code>@FormData</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/FormData.html" title="annotation in org.apache.juneau.remoteable"><code>FormData</code></a> 
             - A form-data parameter.
             <br>Note that this is only available if the HTTP method is <code>POST</code>.
             <br>The argument can be any of the following types:
             <ul>
-               <li>Any serializable POJO 
+               <li class='normal'>Any serializable POJO 
                   - Converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
-               <li><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> 
+               <li class='normal'><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> 
                   - Individual name-value pairs.
-               <li><code>Map&lt;String,Object&gt;</code> 
+               <li class='normal'><code>Map&lt;String,Object&gt;</code> 
                   - Individual name-value pairs.
                   <br>Values are converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
             </ul>
-         <li>
-            <a href="org/apache/juneau/remoteable/FormDataIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@FormDataIfNE</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/FormDataIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>FormDataIfNE</code></a> 
             - Same as <ja>@FormData</ja> except skips the value if it's null/empty.
-         <li>
-            <a href="org/apache/juneau/remoteable/Header.html" title="annotation in org.apache.juneau.remoteable"><code>@Header</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/Header.html" title="annotation in org.apache.juneau.remoteable"><code>Header</code></a> 
             - A request header.
             <br>The argument can be any of the following types:
             <ul>
-               <li>Any serializable POJO 
+               <li class='normal'>Any serializable POJO 
                   - Converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
-               <li><code>Map&lt;String,Object&gt;</code> 
+               <li class='normal'><code>Map&lt;String,Object&gt;</code> 
                   - Individual name-value pairs.
                   <br>Values are converted to text using <a href="org/apache/juneau/httppart/UonPartSerializer.html#serialize-org.apache.juneau.httppart.HttpPartType-java.lang.Object-"><code>UonPartSerializer.serialize(HttpPartType,Object)</code></a>.
             </ul>
-         <li>
-            <a href="org/apache/juneau/remoteable/HeaderIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>@HeaderIfNE</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/HeaderIfNE.html" title="annotation in org.apache.juneau.remoteable"><code>HeaderIfNE</code></a> 
             - Same as <ja>@Header</ja> except skips the value if it's null/empty.
-         <li>
-            <a href="org/apache/juneau/remoteable/Body.html" title="annotation in org.apache.juneau.remoteable"><code>@Body</code></a> 
+         <li class='ja'>
+            <a href="org/apache/juneau/remoteable/Body.html" title="annotation in org.apache.juneau.remoteable"><code>Body</code></a> 
             - The HTTP request body.
             <br>The argument can be any of the following types:
             <ul>
-               <li>Any serializable POJO 
+               <li class='normal'>Any serializable POJO 
                   - Converted to text/bytes using the <a href="org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><code>Serializer</code></a> registered 
                   with the <code>RestClient</code>.
-               <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> 
+               <li class='normal'><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> 
                   - Raw contents of reader will be serialized to remote resource.
-               <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> 
+               <li class='normal'><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> 
                   - Raw contents of input stream will be serialized to remote resource.
-               <li><code>HttpEntity</code> 
+               <li class='normal'><code>HttpEntity</code> 
                   - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.
-               <li><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> 
+               <li class='normal'><a href="org/apache/juneau/rest/client/NameValuePairs.html" title="class in org.apache.juneau.rest.client"><code>NameValuePairs</code></a> 
                   - Converted to a URL-encoded FORM post.
             </ul>
       </ul>
@@ -9921,140 +10147,1591 @@
             - Returns access to the raw input stream of the response.
       </ul>
    </div>
-</div>
-
-<!-- =========================================================================================================== -->
-<a id="juneau-microservice-server"></a>
-<h2 class='topic' onclick='toggle(this)'>10 - juneau-microservice-server</h2>
-<div class='topic'>
-
-   <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
-<xt>&lt;dependency&gt;</xt>
-   <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
-   <xt>&lt;artifactId&gt;</xt>juneau-microservice-server<xt>&lt;/artifactId&gt;</xt>
-   <xt>&lt;version&gt;</xt>7.0.0<xt>&lt;/version&gt;</xt>
-<xt>&lt;/dependency&gt;</xt>
-   </p>  
    
-   <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
-juneau-microservice-server-7.0.0.jar 
-   </p>  
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.SSL"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.2 - SSL Support</h3>
+   <div class='topic'>
+      <p>
+         The simplest way to enable SSL support in the client is to use the 
+         <a href="org/apache/juneau/rest/client/RestClientBuilder.html#enableSSL-org.apache.juneau.rest.client.SSLOpts-"><code>RestClientBuilder.enableSSL(SSLOpts)</code></a> method and one of the predefined 
+         <a href="org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client"><code>SSLOpts</code></a> instances:
+      </p>
+      <ul class='doctree'>
+         <li class='jf'><a href="org/apache/juneau/rest/client/SSLOpts.html#DEFAULT"><code>SSLOpts.DEFAULT</code></a> - Normal certificate and hostname validation.
+         <li class='jf'><a href="org/apache/juneau/rest/client/SSLOpts.html#LAX"><code>SSLOpts.LAX</code></a> - Allows for self-signed certificates.
+      </ul>
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jc>// Create a client that ignores self-signed or otherwise invalid certificates.</jc>
+   RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
+      .enableSSL(SSLOpts.<jsf>LAX</jsf>);
+      
+   <jc>// ...or...</jc>
+   RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
+      .enableLaxSSL();
+      </p>
+      <p>
+         This is functionally equivalent to the following:
+      </p>
+      <p class='bcode'>
+   RestClientBuilder builder = RestClient.<jsm>create</jsm>();
+   
+   HostnameVerifier hv = <jk>new</jk> NoopHostnameVerifier();
+   TrustManager tm = <jk>new</jk> SimpleX509TrustManager(<jk>true</jk>);
+
+   <jk>for</jk> (String p : <jk>new</jk> String[]{<js>"SSL"</js>,<js>"TLS"</js>,<js>"SSL_TLS"</js>}) {
+      SSLContext ctx = SSLContext.<jsm>getInstance</jsm>(p);
+      ctx.init(<jk>null</jk>, <jk>new</jk> TrustManager[] { tm }, <jk>null</jk>);
+      SSLConnectionSocketFactory sf = <jk>new</jk> SSLConnectionSocketFactory(ctx, hv);
+      builder.setSSLSocketFactory(sf);
+      Registry&lt;ConnectionSocketFactory&gt; r = RegistryBuilder.&lt;ConnectionSocketFactory&gt;<jsm>.create</jsm>()
+         .register(<js>"https"</js>, sf).build();
+      builder.setConnectionManager(<jk>new</jk> PoolingHttpClientConnectionManager(r));
+   }
+      </p>
+      <p>
+         More complex SSL support can be enabled through the various <code>HttpClientBuilder</code> 
+         methods defined on the class.
+      </p>
+   
+      <!-- ======================================================================================================= -->
+      <a id="juneau-rest-client.SSLOpts"></a>
+      <h4 class='topic' onclick='toggle(this)'>9.2.1 - SSLOpts Bean</h4>
+      <div class='topic'>
+         <p>
+            The <a href="org/apache/juneau/rest/client/SSLOpts.html" title="class in org.apache.juneau.rest.client"><code>SSLOpts</code></a> class itself is a bean that can be created by the 
+            parsers.
+            For example, SSL options can be specified in a config file and retrieved as a bean using the 
+            <a href="org/apache/juneau/ini/ConfigFile.html" title="class in org.apache.juneau.ini"><code>ConfigFile</code></a> class.
+         </p>
+         
+         <h5 class='figure'>Contents of <code>MyConfig.cfg</code></h5>
+         <p class='bcode'>
+   <cc>#================================================================================
+   # My Connection Settings
+   #================================================================================</cc>
+   <cs>[Connection]</cs>
+   <ck>url</ck> = <cv>https://myremotehost:9443</cv>
+   <ck>ssl</ck> = <cv>{certValidate:'LAX',hostVerify:'LAX'}</cv>
+         </p>
+         
+         <h5 class='figure'>Code that reads an <code>SSLOpts</code> bean from the config file</h5>
+         <p class='bcode'>
+   <jc>// Read config file and set SSL options based on what's in that file.</jc>
+   ConfigFile cf = ConfigFile.<jsm>create</jsm>().build(<js>"MyConfig.cfg"</js>);
+   SSLOpts ssl = cf.getObject(SSLOpts.<jk>class</jk>, <js>"Connection/ssl"</js>);
+   RestClient rc = RestClient.<jsm>create</jsm>().enableSSL(ssl).build();
+         </p>
+      </div>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Authentication"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.3 - Authentication</h3>
+   <div class='topic'>
+   
+      <!-- ======================================================================================================= -->
+      <a id="juneau-rest-client.BASIC"></a>
+      <h4 class='topic' onclick='toggle(this)'>9.3.1 - BASIC Authentication</h4>
+      <div class='topic'>
+         <p>
+            The <a href="org/apache/juneau/rest/client/RestClientBuilder.html#basicAuth-java.lang.String-int-java.lang.String-java.lang.String-"><code>RestClientBuilder.basicAuth(String,int,String,String)</code></a> method 
+            can be used to quickly enable BASIC authentication support.
+         </p>
+         
+         <h5 class='figure'>Example:</h5>
+         <p class='bcode'>
+   <jc>// Create a client that performs BASIC authentication using the specified user/pw.</jc>
+   RestClient restClient = RestClient.<jsm>create</jsm>() 
+      .basicAuth(<jsf>HOST</jsf>, <jsf>PORT</jsf>, <jsf>USER</jsf>, <jsf>PW</jsf>)
+      .build();
+         </p>
+         <p>
+            This is functionally equivalent to the following:
+         </p>
+         <p class='bcode'>
+   RestClientBuilder builder = RestClient.<jsm>create</jsm>();
+   AuthScope scope = <jk>new</jk> AuthScope(<jsf>HOST</jsf>, <jsf>PORT</jsf>);
+   Credentials up = <jk>new</jk> UsernamePasswordCredentials(<jsf>USER</jsf>, <jsf>PW</jsf>);
+   CredentialsProvider p = <jk>new</jk> BasicCredentialsProvider();
+   p.setCredentials(scope, up);
+   builder.setDefaultCredentialsProvider(p);
+         </p>
+      </div>
+      
+      <!-- ======================================================================================================= -->
+      <a id="juneau-rest-client.FORM"></a>
+      <h4 class='topic' onclick='toggle(this)'>9.3.2 - FORM-based Authentication</h4>
+      <div class='topic'>
+         <p>
+            The <a href="org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> class does not itself provide FORM-based 
+            authentication since there is no standard way of providing such support. 
+            <br>Typically, to perform FORM-based or other types of authentication, you'll want to create your own
+            subclass of <a href="org/apache/juneau/rest/client/RestClientBuilder.html" title="class in org.apache.juneau.rest.client"><code>RestClientBuilder</code></a> and override the 
+            <a href="org/apache/juneau/rest/client/RestClientBuilder.html#createHttpClient--"><code>RestClientBuilder.createHttpClient()</code></a> method to provide an 
+            authenticated client.
+         </p>
+         <p>
+            The following example shows how the <code>JazzRestClient</code> class provides FORM-based 
+            authentication support.
+         </p>
+         <p class='bcode'>
+   <jd>/**
+    * Constructor.
+    */</jd>
+   <jk>public</jk> JazzRestClientBuilder(URI jazzUri, String user, String pw) <jk>throws</jk> IOException {
+      ...
+   }
 
-   <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
-org.apache.juneau.microservice.server_7.0.0.jar 
-   </p>  
+   <jd>/**
+    * Override the createHttpClient() method to return an authenticated client.
+    */</jd>
+   <ja>@Override</ja> <jc>/* RestClientBuilder */</jc>
+   <jk>protected</jk> CloseableHttpClient createHttpClient() <jk>throws</jk> Exception {
+      CloseableHttpClient client = <jk>super</jk>.createHttpClient();
+      formBasedAuthenticate(client);
+      visitAuthenticatedURL(client);
+      <jk>return</jk> client;
+   }
 
-   <p>
-      The <code>juneau-microservice-server</code> library consists of the following classes used for constructing
-      stand-alone microservices as executable jars or inside docker containers:
-   </p>
-   <ul class='doctree'>
-      <li class='jac'>
-         <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
-         - Defines basic lifecycle methods for microservices in general.
-         <ul>
-            <li class='jc'>
-               <a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a>
-               - Defines additional lifecycle methods for REST microservices.
-               <br>Starts up an externally-configured Jetty server, registers servlets, and sets up 
-               other features such as logging.  
-         </ul>
-      <li class='jc'>
-         <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> 
-         - A subclass of <code>RestServletDefault</code> with support for manfest-file and args variables
-         and configured to use the external INI file.
-      <li class='jc'>
-         <a href="org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a> 
-         - A subclass of <code>RestServletGroupDefault</code> with support for manfest-file and args variables
-         and configured to use the external INI file.
-   </ul>
-   <p>
-      The following predefined resource classes are also provided for easy inclusion into your microservice:
-   </p>
-   <ul class='doctree'>
-      <li class='jc'><a href="org/apache/juneau/microservice/resources/ConfigResource.html" title="class in org.apache.juneau.microservice.resources"><code>ConfigResource</code></a>
-         - View and modify the external INI config file.
-      <li class='jc'><a href="org/apache/juneau/microservice/resources/DirectoryResource.html" title="class in org.apache.juneau.microservice.resources"><code>DirectoryResource</code></a>
-         - View and modify file system directories.
-      <li class='jc'><a href="org/apache/juneau/microservice/resources/LogsResource.html" title="class in org.apache.juneau.microservice.resources"><code>LogsResource</code></a>
-         - View and control generated log files.
-      <li class='jc'><a href="org/apache/juneau/microservice/resources/SampleRootResource.html" title="class in org.apache.juneau.microservice.resources"><code>SampleRootResource</code></a>
-         - A sample root resource class to get started from.
-      <li class='jc'><a href="org/apache/juneau/microservice/resources/ShutdownResource.html" title="class in org.apache.juneau.microservice.resources"><code>ShutdownResource</code></a>
-         - Shutdown and/or restart the JVM.
-   </ul>
+   <jc>/*
+    * Performs form-based authentication against the Jazz server.
+    */</jc>
+   <jk>private void</jk> formBasedAuthenticate(HttpClient client) <jk>throws</jk> IOException {
+
+      URI uri2 = <jf>jazzUri</jf>.resolve(<js>"j_security_check"</js>);
+      HttpPost request = <jk>new</jk> HttpPost(uri2);
+      request.setConfig(RequestConfig.<jsm>custom</jsm>().setRedirectsEnabled(<jk>false</jk>).build());
+      
+      <jc>// Charset must explicitly be set to UTF-8 to handle user/pw with non-ascii characters.</jc>
+      request.addHeader(<js>"Content-Type"</js>, <js>"application/x-www-form-urlencoded; charset=utf-8"</js>);
+
+      NameValuePairs params = <jk>new</jk> NameValuePairs()
+         .append(<jk>new</jk> BasicNameValuePair(<js>"j_username""</js>, <jf>user</jf>))
+         .append(<jk>new</jk> BasicNameValuePair(<js>"j_password"</js>, <jf>pw</jf>));
+      request.setEntity(<jk>new</jk> UrlEncodedFormEntity(params));
+
+      HttpResponse response = client.execute(request);
+      <jk>try</jk> {
+         <jk>int</jk> rc = response.getStatusLine().getStatusCode();
+
+         Header authMsg = response.getFirstHeader(<js>"X-com-ibm-team-repository-web-auth-msg"</js>);
+         <jk>if</jk> (authMsg != <jk>null</jk>)
+            <jk>throw new</jk> IOException(authMsg.getValue());
+
+         <jc>// The form auth request should always respond with a 200 ok or 302 redirect code</jc>
+         <jk>if</jk> (rc == <jsf>SC_MOVED_TEMPORARILY</jsf>) {
+            <jk>if</jk> (response.getFirstHeader(<js>"Location"</js>).getValue().matches(<js>"^.*/auth/authfailed.*$"</js>))
+               <jk>throw new</jk> IOException(<js>"Invalid credentials."</js>);
+         } <jk>else if</jk> (rc != <jsf>SC_OK</jsf>) {
+            <jk>throw new</jk> IOException(<js>"Unexpected HTTP status: "</js> + rc);
+         }
+      } <jk>finally</jk> {
+         EntityUtils.<jsm>consume</jsm>(response.getEntity());
+      }
+   }
 
-   <h5 class='toc'>Additional Information - org.apache.juneau.microservice</h5>
-   <ol class='toc'>
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#Introduction'>Microservice Introduction</a></p> 
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#GettingStarted'>Getting Started</a></p> 
-      <ol>
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#GettingStarted_Installing'>Installing in Eclipse</a></p> 
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#GettingStarted_Running'>Running in Eclipse</a></p> 
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#GettingStarted_Building'>Building and Running from Command-Line</a></p> 
-      </ol> 
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#Manifest'>Manifest File</a></p> 
-      <ol>
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#Manifest_API'>Manifest API</a></p> 
-      </ol>
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#ConfigFile'>Config File</a></p>
-      <ol>
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#ConfigFile_API'>Config File API</a></p>
-      </ol> 
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#ResourceClasses'>Resource Classes</a></p> 
-      <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#RestMicroservice'>RestMicroservice</a></p>
-      <ol> 
-         <li><p><a class='doclink' href='org/apache/juneau/microservice/package-summary.html#RestMicroservice_Extending'>Extending RestMicroservice</a></p>
-      </ol>
-   </ol>
+   <jc>/*
+    * This is needed for Tomcat because it responds with SC_BAD_REQUEST when the j_security_check URL is visited before an
+    * authenticated URL has been visited. This same URL must also be visited after authenticating with j_security_check
+    * otherwise tomcat will not consider the session authenticated
+    */</jc>
+   <jk>private int</jk> visitAuthenticatedURL(HttpClient httpClient) <jk>throws</jk> IOException {
+      HttpGet authenticatedURL = <jk>new</jk> HttpGet(<jf>jazzUri</jf>.resolve(<js>"authenticated/identity"</js>));
+      HttpResponse response = httpClient.execute(authenticatedURL);
+      <jk>try</jk> {
+         <jk>return</jk> response.getStatusLine().getStatusCode();
+      } <jk>finally</jk> {
+         EntityUtils.<jsm>consume</jsm>(response.getEntity());
+      }
+   }
+         </p>
+      </div>
+      
+      <!-- ======================================================================================================= -->
+      <a id="juneau-rest-client.OIDC"></a>
+      <h4 class='topic' onclick='toggle(this)'>9.3.3 - OIDC Authentication</h4>
+      <div class='topic'>
+         <p>
+            The following example shows how the <code>JazzRestClient</code> class provides OIDC authentication 
+            support.
+         </p>
+   <p class='bcode'>
+   <jd>/**
+    * Constructor.
+    */</jd>
+   <jk>public</jk> JazzRestClientBuilder(URI jazzUri, String user, String pw) <jk>throws</jk> IOException {
+      ...
+   }
+
+   <jd>/**
+    * Override the createHttpClient() method to return an authenticated client.
+    */</jd>
+   <ja>@Override</ja> <jc>/* RestClientBuilder */</jc>
+   <jk>protected</jk> CloseableHttpClient createHttpClient() <jk>throws</jk> Exception {
+      CloseableHttpClient client = <jk>super</jk>.createHttpClient();
+      oidcAuthenticate(client);
+         <jk>return</jk> client;
+      }
+
+   <jk>private void</jk> oidcAuthenticate(HttpClient client) <jk>throws</jk> IOException {
+
+      HttpGet request = <jk>new</jk> HttpGet(<jf>jazzUri</jf>);
+      request.setConfig(RequestConfig.<jsm>custom</jsm>().setRedirectsEnabled(<jk>false</jk>).build());
+      
+      <jc>// Charset must explicitly be set to UTF-8 to handle user/pw with non-ascii characters.</jc>
+      request.addHeader(<js>"Content-Type"</js>, <js>"application/x-www-form-urlencoded; charset=utf-8"</js>);
+
+      HttpResponse response = client.execute(request);
+      <jk>try</jk> {
+         <jk>int</jk> code = response.getStatusLine().getStatusCode();
+
+         <jc>// Already authenticated</jc>
+         <jk>if</jk> (code == <jsf>SC_OK</jsf>)
+            <jk>return</jk>;
+
+         <jk>if</jk> (code != <jsf>SC_UNAUTHORIZED</jsf>)
+            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication: "</js> 
+               + response.getStatusLine());
+
+         <jc>// x-jsa-authorization-redirect</jc>
+         String redirectUri = getHeader(response, <js>"X-JSA-AUTHORIZATION-REDIRECT"</js>);
+
+         <jk>if</jk> (redirectUri == <jk>null</jk>)
+            <jk>throw new</jk> RestCallException(<js>"Expected a redirect URI during OIDC authentication: "</js> 
+               + response.getStatusLine());
+
+         <jc>// Handle Bearer Challenge</jc>
+         HttpGet method = <jk>new</jk> HttpGet(redirectUri + <js>"&amp;prompt=none"</js>);
+         addDefaultOidcHeaders(method);
+
+         response = client.execute(method);
+
+         code = response.getStatusLine().getStatusCode();
+
+         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
+            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 2: "</js> 
+               + response.getStatusLine());
+
+         String loginRequired = getHeader(response, <js>"X-JSA-LOGIN-REQUIRED"</js>);
+
+         <jk>if</jk> (! <js>"true"</js>.equals(loginRequired))
+            <jk>throw new</jk> RestCallException(<js>"X-JSA-LOGIN-REQUIRED header not found on response during OIDC authentication phase 2: "</js> 
+               + response.getStatusLine());
+
+         method = <jk>new</jk> HttpGet(redirectUri + <js>"&amp;prompt=none"</js>);
+
+         addDefaultOidcHeaders(method);
+         response = client.execute(method);
+
+         code = response.getStatusLine().getStatusCode();
+
+         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
+            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 3: "</js> 
+               + response.getStatusLine());
+
+         <jc>// Handle JAS Challenge</jc>
+         method = <jk>new</jk> HttpGet(redirectUri);
+         addDefaultOidcHeaders(method);
+
+         response = client.execute(method);
+
+         code = response.getStatusLine().getStatusCode();
+
+         <jk>if</jk> (code != <jsf>SC_OK</jsf>)
+            <jk>throw new</jk> RestCallException(<js>"Unexpected response during OIDC authentication phase 4: "</js> 
+               + response.getStatusLine());
+
+         <jf>cookie</jf> = getHeader(response, <js>"Set-Cookie"</js>);
+
+         Header[] defaultHeaders = <jk>new</jk> Header[] {
+            <jk>new</jk> BasicHeader(<js>"User-Agent"</js>, <js>"Jazz Native Client"</js>),
+            <jk>new</jk> BasicHeader(<js>"X-com-ibm-team-configuration-versions"</js>, 
+               <js>"com.ibm.team.rtc=6.0.0,com.ibm.team.jazz.foundation=6.0"</js>),
+            <jk>new</jk> BasicHeader(<js>"Accept"</js>, <js>"text/json"</js>),
+            <jk>new</jk> BasicHeader(<js>"Authorization"</js>, <js>"Basic "</js> 
+               + StringUtils.<jsm>base64EncodeToString</jsm>(<jf>user</jf> + <js>":"</js> + <jf>pw</jf>)),
+            <jk>new</jk> BasicHeader(<js>"Cookie"</js>, cookie)
+         };
+
+         setDefaultHeaders(Arrays.<jsm>asList</jsm>(defaultHeaders));
+
+      } <jk>finally</jk> {
+         EntityUtils.<jsm>consume</jsm>(response.getEntity());
+      }
+   }
+
+   <jk>private void</jk> addDefaultOidcHeaders(HttpRequestBase method) {
+      method.addHeader(<js>"User-Agent"</js>, <js>"Jazz Native Client"</js>);
+      method.addHeader(<js>"X-com-ibm-team-configuration-versions"</js>, 
+         <js>"com.ibm.team.rtc=6.0.0,com.ibm.team.jazz.foundation=6.0"</js>);
+      method.addHeader(<js>"Accept"</js>, <js>"text/json"</js>);
+
+      <jk>if</jk> (<jf>cookie</jf> != <jk>null</jk>) {
+         method.addHeader(<js>"Authorization"</js>, <js>"Basic "</js> 
+            + StringUtils.<jsm>base64EncodeToString</jsm>(<jf>user</jf> + <js>":"</js> + <jf>pw</jf>));
+         method.addHeader(<js>"Cookie"</js>, cookie);
+      }
+   }
+         </p>  
+      </div>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.ResponsePatterns"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.4 - Using Response Patterns</h3>
+   <div class='topic'>
+      <p>
+         One issue with REST (and HTTP in general) is that the HTTP response code must be set as a header before the 
+         body of the request is sent.  
+         <br>This can be problematic when REST calls invoke long-running processes, pipes
+         the results through the connection, and then fails after an HTTP 200 has already been sent.
+      </p>
+      <p>
+         One common solution is to serialize some text at the end to indicate whether the long-running process 
+         succeeded (e.g. <js>"FAILED"</js> or <js>"SUCCEEDED"</js>).
+      </p>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a> class has convenience methods for scanning the 
+         response without interfering with the other methods used for retrieving output.  
+      </p>
+      <p>
+         The following example shows how the <a href="org/apache/juneau/rest/client/RestCall.html#successPattern-java.lang.String-"><code>RestCall.successPattern(String)</code></a> 
+         method can be used to look for a SUCCESS message in the output:
+      </p>  
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jc>// Throw a RestCallException if SUCCESS is not found in the output.</jc>
+   restClient.doPost(<jsf>URL</jsf>)
+      .successPattern(<js>"SUCCESS"</js>)
+      .run();
+      </p>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestCall.html#failurePattern-java.lang.String-"><code>RestCall.failurePattern(String)</code></a> method does the opposite.  
+         It throws an exception if a failure message is detected.
+      </p>  
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jc>// Throw a RestCallException if FAILURE or ERROR is found in the output.</jc>
+   restClient.doPost(<jsf>URL</jsf>)
+      .failurePattern(<js>"FAILURE|ERROR"</js>)
+      .run();
+      </p>
+      <p>
+         These convenience methods are specialized methods that use the 
+         <a href="org/apache/juneau/rest/client/RestCall.html#responsePattern-org.apache.juneau.rest.client.ResponsePattern-"><code>RestCall.responsePattern(ResponsePattern)</code></a> method which uses regular 
+         expression matching against the response body.
+         <br>This method can be used to search for arbitrary patterns in the response body.
+      </p>
+      <p>
+         The following example shows how to use a response pattern finder to find and capture patterns for 
+         <js>"x=number"</js> and <js>"y=string"</js> from a response body.
+      </p>  
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jk>final</jk> List&lt;Number&gt; xList = <jk>new</jk> ArrayList&lt;Number&gt;();
+   <jk>final</jk> List&lt;String&gt; yList = <jk>new</jk> ArrayList&lt;String&gt;();
+   
+   String responseText = restClient.doGet(<jsf>URL</jsf>)
+      .responsePattern(
+         <jk>new</jk> ResponsePattern(<js>"x=(\\d+)"</js>) {
+            <ja>@Override</ja>
+            <jk>public void</jk> onMatch(RestCall restCall, Matcher m) <jk>throws</jk> RestCallException {
+               xList.add(Integer.<jsm>parseInt</jsm>(m.group(1)));
+            }
+            <ja>@Override</ja>
+            <jk>public void</jk> onNoMatch(RestCall restCall) <jk>throws</jk> RestCallException {
+               <jk>throw new</jk> RestCallException(<js>"No X's found!"</js>);
+            }
+         }
+      )
+      .responsePattern(
+         <jk>new</jk> ResponsePattern(<js>"y=(\\S+)"</js>) {
+            <ja>@Override</ja>
+            <jk>public void</jk> onMatch(RestCall restCall, Matcher m) <jk>throws</jk> RestCallException {
+               yList.add(m.group(1));
+            }
+            <ja>@Override</ja>
+            <jk>public void</jk> onNoMatch(RestCall restCall) <jk>throws</jk> RestCallException {
+               <jk>throw new</jk> RestCallException(<js>"No Y's found!"</js>);
+            }
+         }
+      )
+      .getResponseAsString();
+      </p>
+      <p>
+         Using response patterns does not affect the functionality of any of the other methods
+         used to retrieve the response such as <a href="org/apache/juneau/rest/client/RestCall.html#getResponseAsString--"><code>RestCall.getResponseAsString()</code></a> 
+         or <a href="org/apache/juneau/rest/client/RestCall.html#getResponse-java.lang.Class-"><code>RestCall.getResponse(Class)</code></a>.
+         <br>HOWEVER, if you want to retrieve the entire text of the response from inside the match methods,
+         use <a href="org/apache/juneau/rest/client/RestCall.html#getCapturedResponse--"><code>RestCall.getCapturedResponse()</code></a> since this method will not absorb 
+         the response for those other methods.
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.PipingOutput"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.5 - Piping Response Output</h3>
+   <div class='topic'>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a> class provides various convenience <code>pipeTo()</code> 
+         methods to pipe output to output streams and writers.
+      </p>
+      <p>
+         If you want to pipe output without any intermediate buffering, you can use the 
+         <a href="org/apache/juneau/rest/client/RestCall.html#byLines--"><code>RestCall.byLines()</code></a> method.  
+         This will cause the output to be piped and flushed after every line.  
+         This can be useful if you want to display the results in real-time from a long running process producing
+         output on a REST call.
+      </p>
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jc>// Pipe output from REST call to System.out in real-time.</jc>
+   restClient.doPost(<jsf>URL</jsf>).byLines().pipeTo(<jk>new</jk> PrintWriter(System.<jk>out</jk>)).run();
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Debugging"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.6 - Debugging</h3>
+   <div class='topic'>
+      <p>
+         Use the <a href="org/apache/juneau/rest/client/RestClientBuilder.html#debug--"><code>RestClientBuilder.debug()</code></a> method to enable logging for HTTP requests
+         made from the client.
+      </p>
+      <p>
+         Under-the-covers, this is simply a shortcut for adding the <a href="org/apache/juneau/rest/client/RestCallLogger.html#DEFAULT"><code>RestCallLogger.DEFAULT</code></a> 
+         interceptor to the client.  
+         <br>This causes the following output to be generated by the Java <code>org.apache.juneau.rest.client</code> 
+         logger at <jsf>WARNING</jsf> level:
+      </p>
+      <p class='bcode'>
+   === HTTP Call (outgoing) =======================================================
+   === REQUEST ===
+   POST http://localhost:10000/testUrl HTTP/1.1
+   ---request headers---
+      Debug: true
+      No-Trace: true
+      Accept: application/json
+   ---request entity---
+      Content-Type: application/json
+   ---request content---
+   {"foo":"bar","baz":123}
+   === RESPONSE ===
+   HTTP/1.1 200 OK
+   ---response headers---
+      Content-Type: application/json;charset=utf-8
+      Content-Length: 21
+      Server: Jetty(8.1.0.v20120127)
+   ---response content---
+   {"message":"OK then"}
+   === END ========================================================================
+      </p>
+      <p>
+         This setting also causes a <code>Debug: true</code> header value to trigger logging of the request on the 
+         server side as well.
+      </p>
+      <p class='bcode'>
+   === HTTP Request (incoming) ====================================================
+   HTTP POST /testUrl
+   ---Headers---
+      Host: localhost:10000
+      Transfer-Encoding: chunked
+      Accept: application/json
+      Content-Type: application/json
+      User-Agent: Apache-HttpClient/4.5 (Java/1.6.0_65)
+      Connection: keep-alive
+      Debug: true
+      Accept-Encoding: gzip,deflate
+   ---Default Servlet Headers---
+   ---Body---
+   {"foo":"bar","baz":123}
+   === END ========================================================================
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Logging"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.7 - Logging</h3>
+   <div class='topic'>
+      <p>
+         Use the <a href="org/apache/juneau/rest/client/RestClientBuilder.html#logTo-java.util.logging.Level-java.util.logging.Logger-"><code>RestClientBuilder.logTo(Level,Logger)</code></a> and 
+         <a href="org/apache/juneau/rest/client/RestCall.html#logTo-java.util.logging.Level-java.util.logging.Logger-"><code>RestCall.logTo(Level,Logger)</code></a> methods to log HTTP calls.
+         <br>These methods will cause the HTTP request and response headers and body to be logged to the specified logger.  
+      </p>
+      
+      <h5 class='figure'>Example:</h5>
+      <p class='bcode'>
+   <jc>// Log the HTTP request/response to the specified logger.</jc>
+   <jk>int</jk> rc = restClient.doGet(<jsf>URL</jsf>).logTo(<jsf>INFO</jsf>, getLogger()).run();
+      </p>
+      <p>
+         The method call is ignored if the logger level is below the specified level.
+      </p>
+      <p>
+         Customized logging can be handled by sub-classing the <a href="org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> 
+         class and using the  <a href="org/apache/juneau/rest/client/RestCall.html#interceptor-org.apache.juneau.rest.client.RestCallInterceptor-"><code>RestCall.interceptor(RestCallInterceptor)</code></a> method.
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Interceptors"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.8 - Interceptors</h3>
+   <div class='topic'>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestClientBuilder.html#interceptors-org.apache.juneau.rest.client.RestCallInterceptor...-"><code>RestClientBuilder.interceptors(RestCallInterceptor...)</code></a> and 
+         <a href="org/apache/juneau/rest/client/RestCall.html#interceptor-org.apache.juneau.rest.client.RestCallInterceptor-"><code>RestCall.interceptor(RestCallInterceptor)</code></a> methods can be used to 
+         intercept responses during specific connection lifecycle events.
+      </p>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestCallLogger.html" title="class in org.apache.juneau.rest.client"><code>RestCallLogger</code></a> class is an example of an interceptor that uses 
+         the various lifecycle methods to log HTTP requests.
+      </p>
+      <p class='bcode'>
+   <jd>/**
+    * Specialized interceptor for logging calls to a log file.
+    */</jd>
+   <jk>public class</jk> RestCallLogger <jk>extends</jk> RestCallInterceptor {
+   
+      <jk>private</jk> Level <jf>level</jf>;
+      <jk>private</jk> Logger <jf>log</jf>;
+   
+      <jd>/**
+       * Constructor.
+       *
+       * <ja>@param</ja> level The log level to log messages at.
+       * <ja>@param</ja> log The logger to log to.
+       */</jd>
+      <jk>protected</jk> RestCallLogger(Level level, Logger log) {
+         <jk>this</jk>.<jf>level</jf> = level;
+         <jk>this</jk>.<jf>log</jf> = log;
+      }
+   
+      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
+      <jk>public void</jk> onInit(RestCall restCall) {
+         <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>))
+            restCall.captureResponse();
+      }
+   
+      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
+      <jk>public void</jk> onConnect(RestCall restCall, <jk>int</jk> statusCode, HttpRequest req, HttpResponse res) {
+         <jc>// Do nothing.</jc>
+      }
+   
+      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
+      <jk>public void</jk> onRetry(RestCall restCall, <jk>int</jk> statusCode, HttpRequest req, HttpResponse res) {
+         <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>))
+            <jf>log</jf>.log(level, MessageFormat.<jsm>format</jsm>(<js>"Call to {0} returned {1}.  Will retry."</js>, req.getRequestLine().getUri(), statusCode)); 
+      }
+   
+      <ja>@Override</ja> <jc>/* RestCallInterceptor */</jc>
+      <jk>public void</jk> onClose(RestCall restCall) <jk>throws</jk> RestCallException {
+         <jk>try</jk> {
+            <jk>if</jk> (<jf>log</jf>.isLoggable(<jf>level</jf>)) {
+               String output = restCall.getCapturedResponse();
+               StringBuilder sb = <jk>new</jk> StringBuilder();
+               HttpUriRequest req = restCall.getRequest();
+               HttpResponse res = restCall.getResponse();
+               <jk>if</jk> (req != <jk>null</jk>) {
+                  sb.append(<js>"\n=== HTTP Call (outgoing) ========================================================="</js>);
+   
+                  sb.append(<js>"\n=== REQUEST ===\n"</js>).append(req);
+                  sb.append(<js>"\n---request headers---"</js>);
+                  <jk>for</jk> (Header h : req.getAllHeaders())
+                     sb.append(<js>"\n"</js>).append(h);
+                  <jk>if</jk> (req <jk>instanceof</jk> HttpEntityEnclosingRequestBase) {
+                     sb.append(<js>"\n---request entity---"</js>);
+                     HttpEntityEnclosingRequestBase req2 = (HttpEntityEnclosingRequestBase)req;
+                     HttpEntity e = req2.getEntity();
+                     <jk>if</jk> (e == <jk>null</jk>)
+                        sb.append(<js>"\nEntity is null"</js>);
+                     <jk>else</jk> {
+                        <jk>if</jk> (e.getContentType() != <jk>null</jk>)
+                           sb.append(<js>"\n"</js>).append(e.getContentType());
+                        <jk>if</jk> (e.getContentEncoding() != <jk>null</jk>)
+                           sb.append(<js>"\n"</js>).append(e.getContentEncoding());
+                        <jk>if</jk> (e.isRepeatable()) {
+                           <jk>try</jk> {
+                              sb.append(<js>"\n---request content---\n"</js>).append(EntityUtils.<jsm>toString</jsm>(e));
+                           } <jk>catch</jk> (Exception ex) {
+                              <jk>throw new</jk> RuntimeException(ex);
+                           }
+                        }
+                     }
+                  }
+               }
+               <jk>if</jk> (res != <jk>null</jk>) {
+                  sb.append(<js>"\n=== RESPONSE ===\n"</js>).append(res.getStatusLine());
+                  sb.append(<js>"\n---response headers---"</js>);
+                  <jk>for</jk> (Header h : res.getAllHeaders())
+                     sb.append(<js>"\n"</js>).append(h);
+                  sb.append(<js>"\n---response content---\n"</js>).append(output);
+                  sb.append(<js>"\n=== END ========================================================================"</js>);
+               }
+               <jf>log</jf>.log(<jf>level</jf>, sb.toString());
+            }
+         } <jk>catch</jk> (IOException e) {
+            <jf>log</jf>.log(Level.<jsf>SEVERE</jsf>, e.getLocalizedMessage(), e);
+         }
+      }
+   }
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Remoteable"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.9 - Remoteable Proxies</h3>
+   <div class='topic'>
+      <p>
+         Juneau provides the capability of calling methods on POJOs on a server through client-side proxy interfaces.
+         <br>It offers a number of advantages over other similar remote proxy interfaces, such as being much simpler to 
+         use and allowing much more flexibility.
+      </p>
+      <p>
+         Proxy interfaces are retrieved using the <a href="org/apache/juneau/rest/client/RestClient.html#getRemoteableProxy-java.lang.Class-"><code>RestClient.getRemoteableProxy(Class)</code></a> 
+         <br>method.
+         The remoteable servlet is a specialized subclass of <a href="org/apache/juneau/rest/RestServlet.html" title="class in org.apache.juneau.rest"><code>RestServlet</code></a> that 
+         provides a full-blown REST interface for calling interfaces remotely. 
+      </p>
+      <p>
+         In this example, we have the following interface defined that we want to call from the client side against
+         a POJO on the server side (i.e. a Remoteable Service)...
+      </p>
+      <p class='bcode'>
+   <jk>public interface</jk> IAddressBook {
+      Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
+   }
+      </p>        
+      <p>
+         The client side code for invoking this method is shown below...
+      </p>
+      <p class='bcode'>
+   <jc>// Create a RestClient using JSON for serialization, and point to the server-side remoteable servlet.</jc>
+   RestClient client = RestClient.<jsm>create</jsm>()
+      .rootUrl(<js>"https://localhost:9080/juneau/sample/remoteable"</js>)
+      .build();
+   
+   <jc>// Create a proxy interface.</jc>
+   IAddressBook ab = client.getRemoteableProxy(IAddressBook.<jk>class</jk>);
+   
+   <jc>// Invoke a method on the server side and get the returned result.</jc>
+   Person p = ab.createPerson(
+      <jk>new</jk> CreatePerson(<js>"Test Person"</js>,
+         AddressBook.<jsm>toCalendar</jsm>(<js>"Aug 1, 1999"</js>),
+         <jk>new</jk> CreateAddress(<js>"Test street"</js>, <js>"Test city"</js>, <js>"Test state"</js>, 12345, <jk>true</jk>))
+   );
+      </p>
+      <p>
+         The requirements for a method to be callable through a remoteable service are:
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            The method must be public.
+         <li>
+            The parameter and return types must be <a href='#juneau-marshall.PojoCategories'>serializable and parsable</a>.
+      </ul>
+      <p>
+         One significant feature is that the remoteable services servlet is a full-blown REST interface.  
+         <br>Therefore, in cases where the interface classes are not available on the client side, the same method calls 
+         can be made through pure REST calls.  
+         <br>This can also aid significantly in debugging since calls to the remoteable service can be called directly 
+         from a browser with no code involved.
+      </p>
+   </div>
+   
+   <!-- ======================================================================================================= -->
+   <a id="juneau-rest-client.Other"></a>
+   <h3 class='topic' onclick='toggle(this)'>9.10 - Other Useful Methods</h3>
+   <div class='topic'>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestClientBuilder.html#rootUrl-java.lang.Object-"><code>RestClientBuilder.rootUrl(Object)</code></a> method can be used to specify a 
+         root URL on all requests so that you don't have to use absolute paths on individual calls.
+      </p>
+      <p class='bcode'>
+   <jc>// Create a rest client with a root URL</jc>
+   RestClient rc = RestClient.<jsm>create</jsm>().rootUrl(<js>"http://localhost:9080/foobar"</js>).build();
+   String r = rc.doGet(<js>"/baz"</js>).getResponseAsString();  <jc>// Gets "http://localhost:9080/foobar/baz"</jc>
+      </p>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestClientBuilder.html#set-java.lang.String-java.lang.Object-"><code>RestClientBuilder.set(String,Object)</code></a> method can be used to 
+         set serializer and parser properties.
+         <br>For example, if you're parsing a response into POJOs and you want to ignore fields that aren't on the
+         POJOs, you can use the <a href="org/apache/juneau/BeanContext.html#BEAN_ignoreUnknownBeanProperties"><code>BeanContext.BEAN_ignoreUnknownBeanProperties</code></a> property.
+      </p>
+      <p class='bcode'>
+   <jc>// Create a rest client that ignores unknown fields in the response</jc>
+   RestClient rc = RestClient.<jsm>create</jsm>()
+      .set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
+      <jc>// or .ignoreUnknownBeanProperties(true)</jc>
+      .build();
+   MyPojo myPojo = rc.doGet(<jsf>URL</jsf>).getResponse(MyPojo.<jk>class</jk>);
+      </p>
+      <p>
+         The <a href="org/apache/juneau/rest/client/RestCall.html#retryable-int-long-org.apache.juneau.rest.client.RetryOn-"><code>RestCall.retryable(int,long,RetryOn)</code></a> method can be used to 
+         automatically retry requests on failures.
+         <br>This can be particularly useful if you're attempting to connect to a REST resource that may be in the 
+         process of still initializing.
+      </p>
+      <p class='bcode'>
+   <jc>// Create a rest call that retries every 10 seconds for up to 30 minutes as long as a connection fails
+   // or a 400+ is received.</jc>
+   restClient.doGet(<jsf>URL</jsf>)
+      .retryable(180, 10000, RetryOn.<jsf>DEFAULT</jsf>)
+      .run();
+      </p>
+   </div>
 </div>
 
-<!-- =========================================================================================================== -->
-<a id="juneau-microservice-template"></a>
-<h2 class='topic' onclick='toggle(this)'>11 - juneau-microservice-template</h2>
-<div class='topic'>
+<!-- =========================================================================================================== -->
+<a id="juneau-microservice-server"></a>
+<h2 class='topic' onclick='toggle(this)'>10 - juneau-microservice-server</h2>
+<div class='topic'>
+
+   <h5 class='figure'>Maven Dependency</h5>
+   <p class='bcode' style='width:500px;'>
+   <xt>&lt;dependency&gt;</xt>
+      <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
+      <xt>&lt;artifactId&gt;</xt>juneau-microservice-server<xt>&lt;/artifactId&gt;</xt>
+      <xt>&lt;version&gt;</xt>7.0.0<xt>&lt;/version&gt;</xt>
+   <xt>&lt;/dependency&gt;</xt>
+   </p>  
+   
+   <h5 class='figure'>Java Library</h5>
+   <p class='bcode' style='width:500px;'>
+   juneau-microservice-server-7.0.0.jar 
+   </p>  
+
+   <h5 class='figure'>OSGi Module</h5>
+   <p class='bcode' style='width:500px;'>
+   org.apache.juneau.microservice.server_7.0.0.jar 
+   </p>  
+
+   <h5 class='figure'>Microservice Starter Project</h5>
+   <p class='bcode' style='width:500px;'>
+   my-microservice.zip 
+   </p>  
+
+   <p>
+      Juneau Microservice is an API for creating stand-alone executable jars that can be used to 
+      start lightweight configurable REST interfaces with all the power of the Juneau REST server and client APIs.
+   </p>
+
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.Introduction"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.1 - Microservice Introduction</h3>
+   <div class='topic'>
+      <p>
+         The Microservice API consists of a combination of the Juneau Core, Server, and Client APIs and an embedded
+         Eclipse Jetty Servlet Container.  
+         <br>It includes all libraries needed to execute in a Java 1.6+ environment.
+      </p>
+      <p>
+         Features include:
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            An out-of-the-box zipped Eclipse project to get started quickly.
+         <li>
+            Packaged as a simple executable jar and configuration file.
+         <li>
+            All the power of the Juneau Cloud Tools for defining REST servlets and clients with the ability to 
+            serialize and parse POJOs as HTML, JSON, XML, RDF, URL-Encoding, and others.
+         <li>
+            An extensible API that allows you to hook into various lifecycle events.
+         <li>
+            Simple-to-use APIs for accessing manifest file entries, command-line arguments, and external configuration 
+            file properties.
+         <li>
+            Predefined REST resources for configuring microservice and accessing log files.
+      </ul>
+      <p>
+         The <code>juneau-microservice-server</code> library consists of the following classes:
+      </p>
+      <ul class='doctree'>
+         <li class='jac'>
+            <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
+            - Defines basic lifecycle methods for microservices in general.
+            <ul>
+               <li class='jc'>
+                  <a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a>
+                  - Defines additional lifecycle methods for REST microservices.
+                  <br>Starts up an externally-configured Jetty server, registers servlets, and sets up 
+                  other features such as logging.  
+            </ul>
+         <li class='jc'>
+            <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> 
+            - A subclass of <code>RestServletDefault</code> with support for manfest-file and args variables
+            and configured to use the external INI file.
+         <li class='jc'>
+            <a href="org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a> 
+            - A subclass of <code>RestServletGroupDefault</code> with support for manfest-file and args variables
+            and configured to use the external INI file.
+      </ul>
+   </div>
+   
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.GettingStarted"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.2 - Getting Started</h3>
+   <div class='topic'>
+      <p>
+         The <l>my-microservice.zip</l> file is a zipped eclipse project that includes everything you 
+         need to create a REST microservice in an Eclipse workspace.
+      </p>  
+   
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.Installing"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.2.1 - Installing in Eclipse</h4>
+      <div class='topic'>
+         <p>
+            Follow these instructions to create a new template project in Eclipse.
+         </p>     
+         <ol class='spaced-list'>
+            <li>
+               Download the latest microservice-project zip file (e.g. <l>my-microservice.zip</l>).
+            <li>
+               In your Eclipse workspace, go to <b>File -&gt; Import -&gt; General -&gt; Existing Projects into Workspace</b> 
+               and select the zip file and click <b>Finish</b>.
+               <br><br>
+               <img class='bordered' src="doc-files/MicroserviceServer.Installing.1.png" style='width:549px'>
+            <li>
+               In your workspace, you should now see the following project:
+               <br><br>
+               <img class='bordered' src="doc-files/MicroserviceServer.Installing.2.png" style='width:299px'>
+         </ol>
+         <p>
+            The important elements in this project are:
+         </p>
+         <ul class='spaced-list'>
+            <li>
+               <l>RootResources.java</l> - The top-level REST resource. 
+               <br>This class routes HTTP requests to child resources:
+               <br><br>
+               <p class='bcode'>
+   <ja>@RestResource</ja>(
+      path=<js>"/"</js>,
+      title=<js>"My Microservice"</js>,
+      description=<js>"Top-level resources page"</js>,
+      htmldoc=<ja>@HtmlDoc</ja>(
+         widgets={
+            ContentTypeMenuItem.<jk>class</jk>,
+            StyleMenuItem.<jk>class</jk>
+         },
+         navlinks={
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
+      ),
+      children={
+         HelloWorldResource.<jk>class</jk>,
+         ConfigResource.<jk>class</jk>,
+         LogsResource.<jk>class</jk>
+      }
+   )
+   <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
+      <jc>// No code</jc>
+   }
+               </p>
+            <li>
+               <l>my-microservice.cfg</l> - The external configuration file. 
+               <br>Contains various useful settings.
+               <br>Can be used for your own resource configurations.
+               <br><br>
+               <p class='bcode'>
+   <cc>#=======================================================================================================================
+   # Basic configuration file for REST microservices
+   # Subprojects can use this as a starting point.
+   #=======================================================================================================================</cc>
+   
+   <cc># What to do when the config file is saved.
+   # Possible values:
+   #  NOTHING - Don't do anything. (default)
+   #  RESTART_SERVER - Restart the Jetty server.
+   #  RESTART_SERVICE - Shutdown and exit with code '3'.</cc>
+   <ck>saveConfigAction</ck> = <cv>RESTART_SERVER</cv>
+   
+   <cc>#=======================================================================================================================
+   # Jetty settings
+   #=======================================================================================================================</cc>
+   <cs>[Jetty]</cs>
+   
+   <cc># Path of the jetty.xml file used to configure the Jetty server.</cc>
+   <ck>config</ck> = <cv>jetty.xml</cv>
+   
+   <cc># Resolve Juneau variables in the jetty.xml file.</cc>
+   <ck>resolveVars</ck> = <cv>true</cv>
+   
+   <cc># Port to use for the jetty server.
+   # You can specify multiple ports.  The first available will be used.  '0' indicates to try a random port.
+   # The resulting available port gets set as the system property "availablePort" which can be referenced in the 
+   # jetty.xml file as "$S{availablePort}" (assuming resolveVars is enabled).</cc>
+   <ck>port</ck> = <cv>10000,0,0,0</cv>
+   
+   <cc>#=======================================================================================================================
+   # REST settings
+   #=======================================================================================================================</cc>
+   <cs>[REST]</cs>
+   
+   <cc># Stylesheet to use for HTML views.
+   # The default options are:
+   #  - servlet:/styles/juneau.css
+   #  - servlet:/styles/devops.css
+   # Other stylesheets can be referenced relative to the servlet package or working directory.</cc>
+   <ck>stylesheet</ck> = <cv>servlet:/styles/devops.css</cv>
+   
+   <cc>#=======================================================================================================================
+   # Console settings
+   #=======================================================================================================================</cc>
+   <cs>[Console]</cs>
+   
+   <ck>enabled</ck> = <cv>true</cv>
+   
+   <cc># List of available console commands.
+   # These are classes that implements ConsoleCommand that allow you to submit commands to the microservice via
+   # the console.
+   # When listed here, the implementations must provide a no-arg constructor.
+   # They can also be provided dynamically by overriding the Microservice.createConsoleCommands() method.</cc>
+   <ck>commands</ck> = 
+      <cv>org.apache.juneau.microservice.console.ExitCommand,
+      org.apache.juneau.microservice.console.RestartCommand,
+      org.apache.juneau.microservice.console.HelpCommand</cv>
+      
+   <cc>#=======================================================================================================================
+   # Logger settings
+   #-----------------------------------------------------------------------------------------------------------------------
+   # See FileHandler Java class for details.
+   #=======================================================================================================================</cc>
+   <cs>[Logging]</cs>
+
+   ...
+   
+   <cc>#=======================================================================================================================
+   # System properties
+   #-----------------------------------------------------------------------------------------------------------------------
+   # These are arbitrary system properties that are set during startup.
+   #=======================================================================================================================</cc>
+   <cs>[SystemProperties]</cs>
+   
+   <cc># Configure Jetty for StdErrLog Logging
+   # org.eclipse.jetty.util.log.class = org.eclipse.jetty.util.log.StrErrLog</cc>
+   
+   <cc># Configure Jetty to log using java-util logging</cc>
+   <ck>org.eclipse.jetty.util.log.class</ck> = <cv>org.apache.juneau.microservice.JettyLogger</cv>
+   
+   <cc># Jetty logging level
+   # Possible values:  ALL, DEBUG, INFO, WARN, OFF</cc>
+   <ck>org.eclipse.jetty.LEVEL</ck> = <cv>WARN
+   
+   <ck>derby.stream.error.file</ck> = <cv>$C{Logging/logDir}/derby-errors.log</cv>              
+            </p>
+            <li>
+               <l>jetty.xml</l> - The Jetty configuration file. 
+               <br>A bare-bones config file that can be extended to use any Jetty features.
+               <br><br>
+               <p class='bcode'>
+   <xt>&lt;Configure</xt> <xa>id</xa>=<xs>"ExampleServer"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.server.Server"</xs>&gt;</xt>
+   
+      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"connectors"</xs><xt>&gt;</xt>
+         <xt>&lt;Array</xt> <xa>type</xa>=<xs>"org.eclipse.jetty.server.Connector"</xs><xt>&gt;</xt>
+            <xt>&lt;Item&gt;</xt>
+               <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.ServerConnector"</xs><xt>&gt;</xt>
+                  <xt>&lt;Arg&gt;</xt>
+                     <xt>&lt;Ref</xt> <xa>refid</xa>=<xs>"ExampleServer"</xs><xt>/&gt;</xt>
+                  <xt>&lt;/Arg&gt;</xt>
+                  <xt>&lt;Set</xt> <xa>name</xa>=<xs>"port"</xs><xt>&gt;</xt>$S{availablePort,8080}<xt>&lt;/Set&gt;</xt>
+               <xt>&lt;/New&gt;</xt>
+            <xt>&lt;/Item&gt;</xt>
+         <xt>&lt;/Array&gt;</xt>
+      <xt>&lt;/Set&gt;</xt>
+   
+      <xt>&lt;New</xt> <xa>id</xa>=<xs>"context"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.servlet.ServletContextHandler"</xs><xt>&gt;</xt>
+         <xt>&lt;Set</xt> <xa>name</xa>=<xs>"contextPath"</xs><xt>&gt;/&lt;/Set&gt;</xt>
+         <xt>&lt;Call</xt> <xa>name</xa>=<xs>"addServlet"</xs><xt>&gt;</xt>
+            <xt>&lt;Arg&gt;</xt>org.apache.juneau.microservice.sample.RootResources<xt>&lt;/Arg&gt;</xt>
+            <xt>&lt;Arg&gt;</xt>/*<xt>&lt;/Arg&gt;</xt>
+         <xt>&lt;/Call&gt;</xt>
+         <xt>&lt;Set</xt> <xa>name</xa>=<xs>"sessionHandler"</xs><xt>&gt;</xt>
+            <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.session.SessionHandler"</xs><xt>/&gt;</xt>
+         <xt>&lt;/Set&gt;</xt>
+      <xt>&lt;/New&gt;</xt>
+   
+      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"handler"</xs><xt>&gt;</xt>
+         <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.handler.HandlerCollection"</xs><xt>&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"handlers"</xs><xt>&gt;</xt>
+               <xt>&lt;Array</xt> <xa>type</xa>=<xs>"org.eclipse.jetty.server.Handler"</xs><xt>&gt;</xt>
+                  <xt>&lt;Item&gt;</xt>
+                     <xt>&lt;Ref</xt> <xa>refid</xa>=<xs>"context"</xs><xt>/&gt;</xt>
+                  <xt>&lt;/Item&gt;</xt>
+                  <xt>&lt;Item&gt;</xt>
+                     <xt>&lt;New</xt> <xa>class</xa>=<xs>"org.eclipse.jetty.server.handler.DefaultHandler"</xs><xt>/&gt;</xt>
+                  <xt>&lt;/Item&gt;</xt>
+               <xt>&lt;/Array&gt;</xt>
+            <xt>&lt;/Set&gt;</xt>
+         <xt>&lt;/New&gt;</xt>
+      <xt>&lt;/Set&gt;</xt>
+   
+      <xt>&lt;Set</xt> <xa>name</xa>=<xs>"requestLog"</xs><xt>&gt;</xt>
+         <xt>&lt;New</xt> <xa>id</xa>=<xs>"RequestLogImpl"</xs> <xa>class</xa>=<xs>"org.eclipse.jetty.server.NCSARequestLog"</xs><xt>&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"filename"</xs><xt>&gt;&lt;Property</xt> <xa>name</xa>=<xs>"jetty.logs"</xs> <xa>default</xa>=<xs>"$C{Logging/logDir,logs}"</xs><xt>/&gt;</xt>/jetty-requests.log<xt>&lt;/Set&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"filenameDateFormat</xs><xt>"&gt;</xt>yyyy_MM_dd<xt>&lt;/Set&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"LogTimeZone"</xs><xt>&gt;</xt>GMT<xt>&lt;/Set&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"retainDays"</xs><xt>&gt;</xt>90<xt>&lt;/Set&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"append"</xs><xt>&gt;</xt>false<xt>&lt;/Set&gt;</xt>
+            <xt>&lt;Set</xt> <xa>name</xa>=<xs>"LogLatency"</xs><xt>&gt;</xt>true<xt>&lt;/Set&gt;</xt>
+         <xt>&lt;/New&gt;</xt>
+      <xt>&lt;/Set&gt;</xt>
+   
+       <xt>&lt;Get</xt> <xa>name</xa>=<xs>"ThreadPool"</xs><xt>&gt;</xt>
+           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"minThreads"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>10<xt>&lt;/Set&gt;</xt>
+           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"maxThreads"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>100<xt>&lt;/Set&gt;</xt>
+           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"idleTimeout"</xs> <xa>type</xa>=<xs>"int"</xs><xt>&gt;</xt>60000<xt>&lt;/Set&gt;</xt>
+           <xt>&lt;Set</xt> <xa>name</xa>=<xs>"detailedDump"</xs><xt>&gt;</xt>true<xt>&lt;/Set&gt;</xt>
+       <xt>&lt;/Get&gt;</xt>
+   <xt>&lt;/Configure&gt;</xt>
+               </p>
+         </ul>
+         <p>
+            At this point, you're ready to start the microservice from your workspace.
+         </p>
+      </div>
+      
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.Running"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.2.2 - Running in Eclipse</h4>
+      <div class='topic'>
+         <p>
+            The <l>my-microservice.launch</l> file is already provided to allow you to quickly start
+            your new microservice.
+         </p>
+         <p>
+            Go to <b>Run -&gt; Run Configurations -&gt; Java Application -&gt; my-microservice</b> and click <b>Run</b>.
+            <br>In your console view, you should see the following output:
+         </p>
+         <p class='bcode'>
+   Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
+   Server started on port 10000
+   
+   List of available commands:
+      exit -- Shut down service
+      restart -- Restarts service
+      help -- Commands help
+   
+   >        
+         </p>
+         <p>
+            Now open your browser and point to <l>http://localhost:10000</l>.  
+            You should see the following:
+         </p>
+         <img class='bordered' src="doc-files/MicroserviceServer.Installing.6.png" style='width:800px;'>
+         <p>
+            You have started a REST interface on port 10000.
+            <br>You can enter the command <code>exit</code> to shut it down.
+         </p>
+      </div>
+      
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.Building"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.2.3 - Building and Running from Command-Line</h4>
+      <div class='topic'>
+         <p>
+            The <l>pom.xml</l> file is a basic Maven build script for creating your microservice
+            as an executable uber-jar.
+         </p>
+         <p>
+            The easiest way to build your microservice is to run the following from the project root.
+         </p>
+         <p class='bcode'>
+   mvn clean install
+         </p>
+         <p>
+            Your <code>target</code> directory should now contain the following files:
+         </p>
+         <ul>
+            <li><code>my-microservice-1.0.jar</code>
+            <li><code>my-microservice.cfg</code>
+            <li><code>jetty.xml</code>
+         </ul>
+         <p>
+            To start from a command line, run the following command from inside your <code>target</code> directory:
+         </p>
+         <p class='bcode'>
+   java -jar my-microservice-1.0.jar
+         </p>
+         <p>
+            You should see the following console output:
+         </p>
+         <p class='bcode'>
+   Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
+   Server started on port 10000
+   
+   List of available commands:
+      exit -- Shut down service
+      restart -- Restarts service
+      help -- Commands help
+   
+   >        
+         </p>
+         <p>
+            If you get this error message: <code class='snippet'>java.net.BindException: Address already in use</code>, 
+            then this microservice is already running elsewhere and so it cannot bind to port 10000.
+         </p>
+      </div>
+      
+   </div>
+
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.Manifest"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.3 - Manifest File</h3>
+   <div class='topic'>
+      <p>
+         The generated <l>META-INF/MANIFEST.MF</l> file is used to describe the microservice. 
+         <br>If you open it, you'll see the following:
+      </p>
+      <p class='bcode'>
+   <mk>Main-Class</mk>: <mv>org.apache.juneau.microservice.RestMicroservice</mv>
+   <mk>Main-ConfigFile</mk>: <mv>microservice.cfg</mv>
+      <p>
+         The <mk>Main-Class</mk> entry is the standard manifest entry describing the entry point for the executable jar.
+         <br>In most cases, this value will always be <l>org.apache.juneau.microservice.RestMicroservice</l>.
+         <br>However, it is possible to extend this class or implement your own microservice, in which case you'll need
+         to modify this value to point to the new class.
+      </p>
+      <p>
+         The <mk>Main-ConfigFile</mk> entry points to the location of an external configuration file for our microservice.
+      </p>     
+      <p>
+         In addition to these predefined manifest entries, you can add your own particular entries to the manifest file
+         and access them through the Manifest API described next. 
+      </p>
+   
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.ManifestApi"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.3.1 - Manifest API</h4>
+      <div class='topic'>
+         <p>
+            The <a href="org/apache/juneau/microservice/Microservice.html#getManifest--"><code>Microservice.getManifest()</code></a> method is a static method that
+            can be used to retrieve the manifest file as a <a href="org/apache/juneau/utils/ManifestFile.html" title="class in org.apache.juneau.utils"><code>ManifestFile</code></a>.  
+         </p>
+         <p class='bcode'>
+   <jc>// Get Main-Class from manifest file.</jc>
+   String mainClass = Microservice.<jsm>getInstance</jsm>().getManifest().getString(<js>"Main-Class"</js>, <js>"unknown"</js>);
+    
+   <jc>// Get Rest-Resources from manifest file.</jc>
+   String[] restResources = Microservice.<jsm>getInstance</jsm>().getManifest().getStringArray(<js>"Rest-Resources"</js>);
+         </p>
+         <p>
+            The <a href="org/apache/juneau/utils/ManifestFile.html" title="class in org.apache.juneau.utils"><code>ManifestFile</code></a> class extends <a href="org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>.
+            <br>That makes it possible to retrieve entries as a wide variety of object types such as java primitives, arrays, collections, 
+            maps, or even POJOs serialized as JSON.
+         </p>
+      </div>
+      
+   </div>
+
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.ConfigFile"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.4 - Config File</h3>
+   <div class='topic'>
+      <p>
+         The microservice config file is an external INI-style configuration file that is used to configure
+         your microservice.
+      </p>
+      <p>
+         If you open the <l>my-microservice.cfg</l> file, you'll see several predefined sections and settings.
+         <br>The contents were shown in the previous sections.
+      </p>
+      <p>
+         Although the config file looks deceptively simple, the config file API is a very powerful feature with many 
+         capabilities, including:
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            The ability to use variables to reference environment variables, system properties, other config file 
+            entries, and a host of other types.
+         <li>
+            The ability to store and retrieve POJOs as JSON.
+         <li>
+            APIs for updating, modifying, and saving configuration files without losing comments or formatting.
+         <li>
+            Extensive listener APIs.
+      </ul>
+      
+      <h5 class='figure'>Examples:</h5>
+      <p class='bcode'>
+   <cc>#--------------------------</cc>
+   <cc># My section</cc>
+   <cc>#--------------------------</cc>
+   <cs>[MySection]</cs>
+   
+   <cc># An integer</cc>
+   <ck>anInt</ck> = <cv>1 </cv>
+   
+   <cc># A boolean</cc>
+   <ck>aBoolean</ck> = <cv>true </cv>
+   
+   <cc># An int array</cc>
+   <ck>anIntArray</ck> = <cv>1,2,3 </cv>
+   
+   <cc># A POJO that can be converted from a String</cc>
+   <ck>aURL</ck> = <cv>http://foo </cv>
+   
+   <cc># An encoded password</cc>
+   <ck>aPassword*</ck> = <cv>{HRAaRQoT}</cv>
+
+   <cc># A POJO that can be converted from JSON</cc>
+   <ck>aBean</ck> = <cv>{foo:'bar',baz:123}</cv>
+   
+   <cc># A system property</cc>
+   <ck>locale</ck> = <cv>$S{java.locale, en_US}</cv>
+   
+   <cc># An environment variable</cc>
+   <ck>path</ck> = <cv>$E{PATH, unknown}</cv>
+   
+   <cc># A manifest file entry</cc>
+   <ck>mainClass</ck> = <cv>$MF{Main-Class}</cv>
+   
+   <cc># Another value in this config file</cc>
+   <ck>sameAsAnInt</ck> = <cv>$C{MySection/anInt}</cv>
+   
+   <cc># A command-line argument in the form "myarg=foo"</cc>
+   <ck>myArg</ck> = <cv>$ARG{myarg}</cv>
+   
+   <cc># The first command-line argument</cc>
+   <ck>firstArg</ck> = <cv>$ARG{0}</cv>
 
-   <h5 class='figure'>Archive File</h5>
-   <p class='bcode' style='width:500px;'>
-   my-microservice-7.0.0.zip 
-   </p>  
+   <cc># Look for system property, or env var if that doesn't exist, or command-line arg if that doesn't exist.</cc>
+   <ck>nested</ck> = <cv>$S{mySystemProperty,$E{MY_ENV_VAR,$ARG{0}}}</cv>
+
+   <cc># A POJO with embedded variables</cc>
+   <ck>aBean2</ck> = <cv>{foo:'$ARG{0}',baz:$C{MySection/anInt}}</cv>
    
-   <p>
-      The <code>juneau-microservice-template</code> project creates an archive file containing an Eclipse
-      project that can be loaded into an Eclipse workspace to quickly get a microservice project 
-      up-and-running. 
    </p>
+   <p class='bcode'>
+   <jc>// Java code for accessing config entries above.</jc>
+   ConfigFile cf = Microservice.<jsm>getInstance</jsm>().getConfig();
    
-   <h5 class='topic'>Instructions on how to install template project</h5>
-   <p>
-      Download the <code>my-microservice-7.0.0.zip</code> file from the downloads page
-      (located in the binaries) and import it into your workspace as an existing project:
-   </p>
-   <img class='bordered' src='doc-files/juneau-microservice-template.import1.png' style='width:512px'>
-   <p>
-      Select the archive file and import the project:
-   </p>
-   <img class='bordered' src='doc-files/juneau-microservice-template.import2.png' style='width:523px'>
-   <p>
-      Once loaded, you should see the following project structure:
-   </p>
-   <img class='bordered' src='doc-files/juneau-microservice-template.import3.png' style='width:412px'>
-   <p>
-      The microservice can be started from the <code>my-microservice.launch</code> file.
-      It will start up the microservice on port 10000 which you can then view through a browser:
-   </p>
-   <img class='bordered' src='doc-files/juneau-microservice-template.import4.png' style='width:467px'>
-   <p>
-      Now play with it!
-   </p>
+   <jk>int</jk> anInt = cf.getInt(<js>"MySection/anInt"</js>); 
+   <jk>boolean</jk> aBoolean = cf.getBoolean(<js>"MySection/aBoolean"</js>); 
+   <jk>int</jk>[] anIntArray = cf.getObject(<jk>int</jk>[].<jk>class</jk>, <js>"MySection/anIntArray"</js>); 
+   URL aURL = cf.getObject(URL.<jk>class</jk>, <js>"MySection/aURL"</js>); 
+   String aPassword = cf.getString(<js>"MySection/aPassword"</js>);
+   MyBean aBean = cf.getObject(MyBean.<jk>class</jk>, <js>"MySection/aBean"</js>); 
+   Locale locale = cf.getObject(Locale.<jk>class</jk>, <js>"MySection/locale"</js>); 
+   String path = cf.getString(<js>"MySection/path"</js>); 
+   String mainClass = cf.getString(<js>"MySection/mainClass"</js>); 
+   <jk>int</jk> sameAsAnInt = cf.getInt(<js>"MySection/sameAsAnInt"</js>); 
+   String myArg = cf.getString(<js>"MySection/myArg"</js>); 
+   String firstArg = cf.getString(<js>"MySection/firstArg"</js>); 
+      </p>
+   
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.ConfigFileApi"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.4.1 - Config File API</h4>
+      <div class='topic'>
+         <p>
+            There are 3 primary ways of getting access to the config file.
+         </p>
+         <ul class='doctree'>
+            <li class='jm'><a href="org/apache/juneau/microservice/Microservice.html#getConfig--"><code>Microservice.getConfig()</code></a> 
+               <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> and <l>$ARG</l> and <l>$MF</l> variables can be used.
+            <li class='jm'><a href="org/apache/juneau/rest/RestContext.html#getConfigFile--"><code>RestContext.getConfigFile()</code></a> 
+               <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> and <l>$ARG</l> and <l>$MF</l> variables can be used.
+               <h5 class='figure'>Example usage:</h5>
+               <p class='bcode'>
+   <cc>#-------------------------------</cc>
+   <cc># Properties for MyHelloResource </cc>
+   <cc>#-------------------------------</cc>
+   <cs>[MyHelloResource]</cs>
+   <ck>greeting</ck> = <cv>Hello world!</cv> 
+            </p>
+            <p class='bcode'>
+   <ja>@RestResource</ja>(...)
+   <jk>public class</jk> MyHelloResource <jk>extends</jk> Resource {
+      <jc>// Access config file when initializing fields.</jc>
+      <jk>private</jk> String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
+      
+      <jc>// Or access config file in servlet init method.</jc>
+      <ja>@Override</ja> <jc>/* Servlet */</jc>
+      <jk>public void</jk> init() {
+         String greeting = getConfig().getString(<js>"MyHelloResource/greeting"</js>); 
+      }
+   }     
+               </p>
+               <p>
+                  Additional user-defined variables can be defined at this level by adding a  
+                  <a href="org/apache/juneau/rest/annotation/HookEvent.html#INIT"><code>HookEvent.INIT</code></a> hook method
+                  and using the <a href="org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
+               </p>
+            <li class='jm'>
+               <a href="org/apache/juneau/rest/RestRequest.html#getConfigFile--"><code>RestRequest.getConfigFile()</code></a> 
+               - An instance method to access it from inside a REST method.
+               <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time or request-time variables</a> and <l>$ARG</l> and <l>$MF</l> variables can be used.
+               
+               <h5 class='figure'>Example usage:</h5>
+               <p class='bcode'>
+   <cc>#-----------------------------</cc>
+   <cc># Contents of microservice.cfg </cc>
+   <cc>#-----------------------------</cc>
+   <cs>[MyHelloResource]</cs>
+   <ck>greeting</ck> = <cv>Hello $RP{person}!</cv> 
+   <ck>localizedGreeting</ck> = <cv>$L{HelloMessage,$RP{person}}</cv> 
+            </p>
+            <p class='bcode'>
+   <cc>#---------------------------------</cc>
+   <cc># Contents of MyHelloResource.java </cc>
+   <cc>#---------------------------------</cc>
+   <ja>@RestResource</ja>(
+      path=<js>"/hello"</js>,
+      messages=<js>"nls/Messages"</js>,
+      ...
+   )
+   <jk>public class</jk> MyHelloResource <jk>extends</jk> Resource {
+
+      <jd>/** Standard hello message. */</jd>
+      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/{person}"</js>)
+      <jk>public</jk> String sayHello(RestRequest req) {
+         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/greeting"</js>);
+      }
+
+      <jd>/** Hello message in users language. */</jd>
+      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/localized/{person}"</js>)
+      <jk>public</jk> String sayLocalizedHello(RestRequest req) {
+         <jk>return</jk> req.getConfig().getString(<js>"MyHelloResource/localizedGreeting"</js>);
+      }
+   }     
+               </p>
+               <p class='bcode'>
+   <cc>#---------------------------------------</cc>
+   <cc># Contents of nls/Messages_en.properties </cc>
+   <cc>#---------------------------------------</cc>
+   <ck>MyHelloResource.HelloMessage</ck> = <cv>Hello {0}!</cv> 
+               </p>
+               <p>
+                  Additional user-defined variables can be defined at this level by overriding the 
+                  <a href="org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class...)</code></a> method.
+               </p>
+         </ul>
+         <p>
+            That <l>sayLocalizedHello()</l> example might need some explanation since there's a lot going on there.
+            <br>Here's what happens when an HTTP call is made to <l>GET /hello/localized/Bob</l>:
+         </p>
+         <ol class='spaced-list'>
+            <li>
+               The HTTP call matches the <l>/hello</l> path on the <l>MyHelloResource</l> class.
+            <li>
+               The HTTP call matches the <l>/localized/{person}</l> path on the <l>sayLocalizedHello()</l> method.
+            <li>
+               The request attribute <l>person</l> gets assigned the value <l>"Bob"</l>.
+            <li>
+               The call to <l>req.getConfig().getString("MyHelloResource/localizedGreeting")</l> 
+               finds the value <l>"$L{HelloMessage,$RP{person}}"</l>.
+            <li>
+               The arguments in the <l>$L{}</l> variable get resolved, resulting in <l>"$L{HelloMessage,Bob}"</l>.
+            <li>
+               The <l>$L{}</l> variable gets resolved to the message <l>"Hello {0}!"</l> in the localized properties 
+               file of the servlet based on the <l>Accept-Language</l> header on the request.
+            <li>
+               The arguments get replaced in the message resulting in <l>"Hello Bob!"</l>. 
+            <li>
+               The resulting message <l>"Hello Bob!"</l> is returned as a POJO to be serialized to whatever content 
+               type was specified on the <l>Accept</l> header on the request.
+         </ol>
+         <p>
+            This particular example is needlessly complex, but it gives an idea of how variables can be used 
+            recursively to produce sophisticated results
+         </p>
+      </div>
+      
+   </div>
+
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.ResourceClasses"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.5 - Resource Classes</h3>
+   <div class='topic'>
+      <p>
+         Now let's take a look at the resource classes themselves.  
+         <br>The top-level page...
+      </p>
+      <img class='bordered' src='doc-files/MicroserviceServer.Installing.6.png' style='width:800px;'>
+      <p>
+         ...is generated by this class...
+      <p class='bcode'>
+   <ja>@RestResource</ja>(
+      path=<js>"/"</js>,
+      title=<js>"My Microservice"</js>,
+      description=<js>"Top-level resources page"</js>,
+      htmldoc=<ja>@HtmlDoc</ja>(
+         widgets={
+            ContentTypeMenuItem.<jk>class</jk>,
+            StyleMenuItem.<jk>class</jk>
+         },
+         navlinks={
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         }
+      ),
+      children={
+         HelloWorldResource.<jk>class</jk>,
+         ConfigResource.<jk>class</jk>,
+         LogsResource.<jk>class</jk>
+      }
+   )
+   <jk>public class</jk> RootResources <jk>extends</jk> ResourceGroup {
+      <jc>// No code! </jc>
+   }
+      </p>
+      <ul class='spaced-list'>
+         <li>
+            The </l>title</l> and <l>description</l> annotations define the titles on the page.
+            <br>These can be globalized using <l>$L{...}</l> variables, or by defining specially-named properties in the 
+            properties file for the resource.
+         <li>
+            In this case, the <l>path</l> annotation defines the context root of your application since it was 
+            not specified in the manifest or config file.
+            <br>Therefore, this resource is mapped to <l>http://localhost:10000</l>.
+         <li>
+            The <l>children</l> annotation make up the list of child resources.
+            <br>These child resources can be anything that extends from <l>Servlet</l>, although usually
+            they will be subclasses of <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> or other resource groups.
+      </ul>
+      <p>
+         If you click the <l>helloWorld</l> link in your application, you'll get a simple hello world message:
+      </p>
+      <img class='bordered' src='doc-files/MicroserviceServer.ResourceClasses.1.png' style='width:800px;'>
+      <p>
+         ...which is generated by this class...
+      </p>
+      <p class='bcode'>
+   <ja>@RestResource</ja>(
+      path=<js>"/helloWorld"</js>,
+      title=<js>"Hello World example"</js>,
+      description=<js>"Simplest possible REST resource"</js>
+   )
+   <jk>public class</jk> HelloWorldResource <jk>extends</jk> Resource {
+   
+      <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
+      <jk>public</jk> String sayHello() {
+         <jk>return</jk> <js>"Hello world!"</js>;
+      }
+   }     
+      </p>
+      <p>
+         The <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> and <a href="org/apache/juneau/microservice/ResourceGroup.html" title="class in org.apache.juneau.microservice"><code>ResourceGroup</code></a> 
+         classes are powerful servlets designed specifically for creating REST APIs using nothing more than serialized 
+         and parsed POJOs.
+      </p>
+   </div>
+
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.PredefinedResourceClasses"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.6 - Predefined Resource Classes</h3>
+   <div class='topic'>
+      <p>
+         The following predefined resource classes are also provided for easy inclusion into your microservice:
+      </p>
+      <ul class='doctree'>
+         <li class='jc'><a href="org/apache/juneau/microservice/resources/ConfigResource.html" title="class in org.apache.juneau.microservice.resources"><code>ConfigResource</code></a>
+            - View and modify the external INI config file.
+         <li class='jc'><a href="org/apache/juneau/microservice/resources/DirectoryResource.html" title="class in org.apache.juneau.microservice.resources"><code>DirectoryResource</code></a>
+            - View and modify file system directories.
+         <li class='jc'><a href="org/apache/juneau/microservice/resources/LogsResource.html" title="class in org.apache.juneau.microservice.resources"><code>LogsResource</code></a>
+            - View and control generated log files.
+         <li class='jc'><a href="org/apache/juneau/microservice/resources/SampleRootResource.html" title="class in org.apache.juneau.microservice.resources"><code>SampleRootResource</code></a>
+            - A sample root resource class to get started from.
+         <li class='jc'><a href="org/apache/juneau/microservice/resources/ShutdownResource.html" title="class in org.apache.juneau.microservice.resources"><code>ShutdownResource</code></a>
+            - Shutdown and/or restart the JVM.
+      </ul>
+   </div>
+   
+   <!-- =========================================================================================================== -->
+   <a id="juneau-microservice-server.RestMicroservice"></a>
+   <h3 class='topic' onclick='toggle(this)'>10.7 - RestMicroservice</h3>
+   <div class='topic'>
+      <p>
+         The <a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> class is the main application entry-point for REST 
+         microservices. 
+      </p>
+      <p>
+         The class hierarchy is:
+      </p>
+      <ul class='doctree'>
+         <li class='jac'>
+            <a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a> 
+            - Abstract class that defines simple start/stop methods and access to the manifest file, config file, and 
+            arguments.
+            <ul>
+               <li class='jc'>
+                  <a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> 
+                  - Specialized microservice for starting up REST interfaces using Jetty and specifying REST servlets
+                  through the manifest file or config file.
+            </ul>
+         </li>
+      </ul>
+      <p>
+         Refer to the Javadocs for these class for more information.
+      </p>
+
+      <!-- =========================================================================================================== -->
+      <a id="juneau-microservice-server.ExtendingRestMicroservice"></a>
+      <h4 class='topic' onclick='toggle(this)'>10.7.1 - Extending RestMicroservice</h4>
+      <div class='topic'>
+         <p>
+            This example shows how the <a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a> class
+            can be extended to implement lifecycle listener methods or override existing methods.
+            <br>We'll create a new class <l>com.foo.SampleCustomRestMicroservice</l>.
+         </p>
+         <p>
+            First, the manifest file needs to be modified to point to our new microservice:
+         </p>
+         <p class='bcode'>
+   <mk>Main-Class:</mk> com.foo.SampleCustomRestMicroservice
+         </p>
+         <p>
+            Then we define the following class:
+         </p>
+         <p class='bcode'>
+   <jd>/**
+    * Sample subclass of a RestMicroservice that provides customized behavior.
+    * This class must be specified in the Main-Class entry in the manifest file and optionally
+    *    a Main-ConfigFile entry.
+    */</jd>
+   <jk>public class</jk> SampleCustomRestMicroservice <jk>extends</jk> RestMicroservice {
+   
+      <jd>/**
+       * Must implement a main method and call start()!
+       */</jd>
+      <jk>public static void</jk> main(String[] args) <jk>throws</jk> Exception {
+         <jk>new</jk> SampleCustomRestMicroservice(args).start().join();
+      }
+   
+      <jd>/**
+       * Must implement a constructor!
+       * 
+       * <ja>@param</ja> args Command line arguments. 
+       * <ja>@throws</ja> Exception 
+       */</jd>
+      <jk>public</jk> SampleCustomRestMicroservice(String[] args) <jk>throws</jk> Exception {
+         <jk>super</jk>(args);
+      }
+         </p>
+         <p>
+            The microservice APIs provide several useful methods that can be used or extended.
+         </p>
+         <h5 class='section'>See Also:</h5>
+         <ul class='doctree'>
+            <li class='jac'><a href="org/apache/juneau/microservice/Microservice.html" title="class in org.apache.juneau.microservice"><code>Microservice</code></a>
+            <li class='jc'><a href="org/apache/juneau/microservice/RestMicroservice.html" title="class in org.apache.juneau.microservice"><code>RestMicroservice</code></a>
+         </ul>
+      </div>
+   </div>
 </div>
 
 <!-- =========================================================================================================== -->
 <a id="juneau-examples-core"></a>
-<h2 class='topic' onclick='toggle(this)'>12 - juneau-examples-core</h2>
+<h2 class='topic' onclick='toggle(this)'>11 - juneau-examples-core</h2>
 <div class='topic'>
 
    <h5 class='figure'>Archive File</h5>
@@ -10093,7 +11770,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
 <!-- =========================================================================================================== -->
 <a id="juneau-examples-rest"></a>
-<h2 class='topic' onclick='toggle(this)'>13 - juneau-examples-rest</h2>
+<h2 class='topic' onclick='toggle(this)'>12 - juneau-examples-rest</h2>
 <div class='topic'>
 
    <h5 class='figure'>Archive File</h5>
@@ -10132,7 +11809,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
       
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.RootResources"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.1 - RootResources</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.1 - RootResources</h4>
    <div class='topic'>
       <p>
          The <l>RootResources</l> class is the main page for the REST microservice.
@@ -10294,7 +11971,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.HelloWorldResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.2 - HelloWorldResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.2 - HelloWorldResource</h4>
    <div class='topic'>
       <p>
          The <l>HelloWorldResource</l> class is a simple resource that prints a "Hello world!" message.
@@ -10372,7 +12049,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.MethodExampleResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.3 - MethodExampleResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.3 - MethodExampleResource</h4>
    <div class='topic'>
       <p>
          The <l>MethodExampleResource</l> class provides examples of the following:
@@ -10688,7 +12365,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.UrlEncodedFormResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.4 - UrlEncodedFormResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.4 - UrlEncodedFormResource</h4>
    <div class='topic'>
       <p>
          The <l>UrlEncodedFormResource</l> class provides examples of the following:
@@ -10884,7 +12561,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.RequestEchoResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.5 - RequestEchoResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.5 - RequestEchoResource</h4>
    <div class='topic'>
       <p>
          The <l>RequestEchoResource</l> class shows how existing complex POJOs can be serialized to a variety of 
@@ -11003,7 +12680,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.AddressBookResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.6 - AddressBookResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.6 - AddressBookResource</h4>
    <div class='topic'>
       <p>
          The <l>AddressBookResource</l> class is a proof-of-concept class that shows a true RESTful API using the 
@@ -11051,7 +12728,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
       
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Classes"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.1 - Classes</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.1 - Classes</h4>
       <div class='topic'>
          <p>
             The code is straightforward, consisting of the following classes:
@@ -11872,7 +13549,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Demo"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.2 - Demo</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.2 - Demo</h4>
       <div class='topic'>
          <p>
             Pointing a browser to the resource shows the results of running the <l>getRoot()</l> method:
@@ -11949,7 +13626,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Traversable"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.3 - Traversable</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.3 - Traversable</h4>
       <div class='topic'>
          <p>
             Because you added the <l>Traversable</l> converter to the <l>getPerson</l> method, you can also address 
@@ -11962,7 +13639,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Queryable"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.4 - Queryable</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.4 - Queryable</h4>
       <div class='topic'>
          <p>
             The <l>Queryable</l> converter on the <l>getAllPeople()</l> method allows us to perform search/view/sort 
@@ -11981,7 +13658,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Introspectable"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.5 - Introspectable</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.5 - Introspectable</h4>
       <div class='topic'>
          <p>
             The <l>Introspectable</l> converter on the <l>getPerson</l> method allows us to invoke public methods 
@@ -11992,7 +13669,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.RestClient"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.6 - ClientTest</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.6 - ClientTest</h4>
       <div class='topic'>
          <p>
             The <l>ClientTest</l> class is provided to demonstrate how POJOs can be serialized and parsed 
@@ -12107,7 +13784,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Browser"></a>
-      <h4 class='topic' onclick='toggle(this)'>13.6.7 - Browser Tips</h4>
+      <h4 class='topic' onclick='toggle(this)'>12.6.7 - Browser Tips</h4>
       <div class='topic'>
          <p>
             The Juneau architecture is designed to make it easy to debug REST resources using nothing more than a 
@@ -12140,7 +13817,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.SampleRemoteableServlet"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.7 - SampleRemoteableServlet</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.7 - SampleRemoteableServlet</h4>
    <div class='topic'>
       <p>   
          The <l>SampleRemoteableServlet</l> class shows examples of the following:
@@ -12239,7 +13916,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.TempDirResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.8 - TempDirResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.8 - TempDirResource</h4>
    <div class='topic'>
       <p>   
          The <l>TempDirResource</l> class shows examples of the following:
@@ -12367,7 +14044,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.AtomFeedResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.9 - AtomFeedResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.9 - AtomFeedResource</h4>
    <div class='topic'>
       <p>   
          The <l>AtomFeedResource</l> class shows examples of the following:
@@ -12480,7 +14157,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.DockerRegistryResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.10 - DockerRegistryResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.10 - DockerRegistryResource</h4>
    <div class='topic'>
       <p>   
          The <l>DockerRegistryResource</l> class shows examples of the following:
@@ -12572,7 +14249,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.TumblrParserResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.11 - TumblrParserResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.11 - TumblrParserResource</h4>
    <div class='topic'>
       <p>   
          The <l>TumblrParserResource</l> class shows examples of the following:
@@ -12657,7 +14334,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.PhotosResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.12 - PhotosResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.12 - PhotosResource</h4>
    <div class='topic'>
       <p>   
          The <l>PhotosResource</l> class shows examples of the following:
@@ -12805,7 +14482,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.JsonSchemaResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.13 - JsonSchemaResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.13 - JsonSchemaResource</h4>
    <div class='topic'>
       <p>   
          The <l>JsonSchemaResource</l> class shows examples of the following:
@@ -12889,7 +14566,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.SqlQueryResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.14 - SqlQueryResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.14 - SqlQueryResource</h4>
    <div class='topic'>
       <p>   
          The <l>SqlQueryResource</l> class shows examples of the following:
@@ -13091,12 +14768,11 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.ConfigResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.15 - ConfigResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.15 - ConfigResource</h4>
    <div class='topic'>
       <p>
-         The <a href="org/apache/juneau/microservice/resources/ConfigResource.html" title="class in org.apache.juneau.microservice.resources"><code>ConfigResource</code></a> class is a reusable resource
-            defined in the <a class='doclink' href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a> API.
-         It provides a REST interface for reading and altering the microservice config file.
+         The <a href="org/apache/juneau/microservice/resources/ConfigResource.html" title="class in org.apache.juneau.microservice.resources"><code>ConfigResource</code></a> class is a predefined reusable resource.
+         <br>It provides a REST interface for reading and altering the microservice config file.
       </p>
       <p>
          Pointing a browser to the resource shows the following:
@@ -13309,13 +14985,11 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.LogsResource"></a>
-   <h4 class='topic' onclick='toggle(this)'>13.16 - LogsResource</h4>
+   <h4 class='topic' onclick='toggle(this)'>12.16 - LogsResource</h4>
    <div class='topic'>
       <p>
-         The <a href="org/apache/juneau/microservice/resources/LogsResource.html" title="class in org.apache.juneau.microservice.resources"><code>LogsResource</code></a> class is a reusable resource
-         defined in the <a class='doclink' 
-         href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a> API.
-         It provides a REST interface for the log files generated by the microservice.
+         The <a href="org/apache/juneau/microservice/resources/LogsResource.html" title="class in org.apache.juneau.microservice.resources"><code>LogsResource</code></a> class is a reusable predefined resource.
+         <br>It provides a REST interface for the log files generated by the microservice.
       </p>
       <p>
          Pointing a browser to the resource shows the following:
@@ -13335,7 +15009,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
 <!-- =============================================================================================================== -->
 <a id="Security"></a>
-<h2 class='topic' onclick='toggle(this)'>14 - Security Best-Practices</h2>
+<h2 class='topic' onclick='toggle(this)'>13 - Security Best-Practices</h2>
 <div class='topic'>
    <p>
       Security is always an ongoing concern in any library.  
@@ -13347,7 +15021,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
    <!-- =========================================================================================================== -->
    <a id="Security.juneau-marshall"></a>
-   <h3 class='topic' onclick='toggle(this)'>14.1 - juneau-marshall</h3>
+   <h3 class='topic' onclick='toggle(this)'>13.1 - juneau-marshall</h3>
    <div class='topic'>
 
       <h5 class='topic'>Demarshalling vulnerabilities</h5>
@@ -13426,7 +15100,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
    <!-- =========================================================================================================== -->
    <a id="Security.juneau-svl"></a>
-   <h3 class='topic' onclick='toggle(this)'>14.2 - juneau-svl</h3>
+   <h3 class='topic' onclick='toggle(this)'>13.2 - juneau-svl</h3>
    <div class='topic'>
       <p>
          Care must be used when defining new <a href="org/apache/juneau/svl/Var.html" title="class in org.apache.juneau.svl"><code>Vars</code></a> using the SVL API since mistakes 
@@ -13476,7 +15150,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
    
    <!-- =========================================================================================================== -->
    <a id="Security.juneau-rest-server"></a>
-   <h3 class='topic' onclick='toggle(this)'>14.3 - juneau-rest-server</h3>
+   <h3 class='topic' onclick='toggle(this)'>13.3 - juneau-rest-server</h3>
    <div class='topic'>
       <p>
          Denial of service attacks can be alleviated through the <a href="org/apache/juneau/rest/annotation/RestResource.html#maxInput--"><code>maxInput()</code></a>
@@ -13495,7 +15169,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
 
 <!-- =============================================================================================================== -->
 <a id="ReleaseNotes"></a>
-<h2 class='topic' onclick='toggle(this)'>15 - Release Notes</h2>
+<h2 class='topic' onclick='toggle(this)'>14 - Release Notes</h2>
 <div class='topic'>
    
    <h5 class='toc'>What's new in each release</h5>
@@ -13936,6 +15610,23 @@ org.apache.juneau.microservice.server_7.0.0.jar
             without closing the stream.
             <br>The <a href="org/apache/juneau/rest/response/DefaultHandler.html" title="class in org.apache.juneau.rest.response"><code>DefaultHandler</code></a> class now calls <code>finish()</code>
             instead of <code>close()</code> on the stream.
+         <li>
+            Added the following annotations to the <a href="org/apache/juneau/rest/RestServletDefault.html" title="class in org.apache.juneau.rest"><code>RestServletDefault</code></a> class
+            (which were previously defined on the <a href="org/apache/juneau/microservice/Resource.html" title="class in org.apache.juneau.microservice"><code>Resource</code></a> class):
+            <p class='bcode'>
+   <ja>@RestResource</ja>(
+      htmldoc=<ja>@HtmlDoc</ja>(
+         navlinks={
+            <js>"up: request:/.."</js>,
+            <js>"options: servlet:/?method=OPTIONS"</js>
+         },
+         stylesheet=<js>"$C{REST/stylesheet,servlet:/styles/devops.css}"</js>
+      ),
+      
+      <jc>// Optional external configuration file.</jc>
+      config=<js>"$S{juneau.configFile}"</js>
+   )
+            </p>
       </ul>
 
       <h5 class='topic'>juneau-rest-client</h5>
@@ -13954,6 +15645,9 @@ org.apache.juneau.microservice.server_7.0.0.jar
                <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseHeader-java.lang.String-"><code>getResponseHeader(String)</code></a>
                <li><a href="org/apache/juneau/rest/client/RestCall.html#getResponseCode--"><code>getResponseCode()</code></a>
             </ul>
+         <li>
+            <a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><code>RestCall</code></a> and <a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><code>RestClient</code></a>
+            now implement the <code>Closeable</code> interface.
       </ul>
 
       <h5 class='topic'>Documentation</h5>
@@ -16484,10 +18178,10 @@ org.apache.juneau.microservice.server_7.0.0.jar
       
       <h5 class='topic'>Documentation Updates</h5>
       <ul class='spaced-list'>
-         <li><a href='org/apache/juneau/microservice/package-summary.html#TOC'>org.apache.juneau.microservice</a> - New package-level javadoc.
+         <li><del>org.apache.juneau.microservice</del> - New package-level javadoc.
          <li><a href='org/apache/juneau/ini/package-summary.html#TOC'>org.apache.juneau.ini</a> - New package-level javadoc.
          <li><del><code>StringVarResolver</code></del> - New documentation.
-         <li><a href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a> - New package-level javadoc.
+         <li><del>org.apache.juneau.rest.client</del> - New package-level javadoc.
          <li><code><del>Overview / Samples</del></code> - New section.
          <li><del>org.apache.juneau.transform / Stop Classes</del> - New section.
          <li><del>org.apache.juneau.rest</del> - Extensive updates.
@@ -17189,7 +18883,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
                      from being modified after being created.  The new mechanism is much more straightforward.
             </ul>
          </li>
-         <li>Modifications to the <a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a> APIs to make it easier to work with custom Apache HTTP clients.
+         <li>Modifications to the <del>org.apache.juneau.rest.client</del> APIs to make it easier to work with custom Apache HTTP clients.
             <ul>
                <li>Added overridable <code><del>RestClient#createHttpClient()</del></code> to allow customized subclasses to construct customized HTTP clients.
                <li>Removed the <code>DefaultRestClient</code> class since it's now fully redundant with <code>RestClient</code>.
@@ -17399,7 +19093,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
             The new client API is simply a thin layer on top of <code>HttpClient</code> that performs 
             serialization and parsing using Juno parsers, but leaves all the details of the HTTP connection
             to the Apache code. <br>
-            See the <a class='doclink' href='org/apache/juneau/rest/client/package-summary.html#TOC'>org.apache.juneau.rest.client</a> package for details.
+            See the <del>org.apache.juneau.rest.client</del> package for details.
          <li>New <code>org.apache.juneau.rest.client.jazz</code> package and <code>org.apache.juneau.rest.client.jazz.JazzRestClient</code> class
             for performing REST operations against Jazz servers.<br>
             Includes improved support for FORM authentication, and better SSL certificate validation.
@@ -18145,7 +19839,7 @@ org.apache.juneau.microservice.server_7.0.0.jar
       <ul class='spaced-list'>
          <li>     
             Juno-Wink integration components that have been requested by many for a long time!<br>
-            Refer to <a class='doclink' href='org/apache/juneau/rest/jaxrs/package-summary.html#TOC'>org.apache.juneau.rest.jaxrs</a> for information.
+            Refer to <del>org.apache.juneau.rest.jaxrs</del> for information.
          </li>
          <li>
             New <code><del>@Produces</del></code> annotation in place of <code>ISerializer.getMediaTypes()</code> for specifying what media types a serializer produces.<br>
diff --git a/content/site/apidocs/overview-tree.html b/content/site/apidocs/overview-tree.html
index 8b3eb84..708a5a4 100644
--- a/content/site/apidocs/overview-tree.html
+++ b/content/site/apidocs/overview-tree.html
@@ -422,7 +422,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.juneau.parser.<a href="org/apache/juneau/parser/ParserGroup.html" title="class in org.apache.juneau.parser"><span class="typeNameLink">ParserGroup</span></a></li>
-<li type="circle">org.apache.juneau.rest.client.<a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestClient</span></a></li>
+<li type="circle">org.apache.juneau.rest.client.<a href="org/apache/juneau/rest/client/RestClient.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestClient</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 <li type="circle">org.apache.juneau.rest.<a href="org/apache/juneau/rest/RestContext.html" title="class in org.apache.juneau.rest"><span class="typeNameLink">RestContext</span></a></li>
 <li type="circle">org.apache.juneau.serializer.<a href="org/apache/juneau/serializer/Serializer.html" title="class in org.apache.juneau.serializer"><span class="typeNameLink">Serializer</span></a>
 <ul>
@@ -1186,7 +1186,7 @@
 </li>
 </ul>
 </li>
-<li type="circle">org.apache.juneau.rest.client.<a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestCall</span></a></li>
+<li type="circle">org.apache.juneau.rest.client.<a href="org/apache/juneau/rest/client/RestCall.html" title="class in org.apache.juneau.rest.client"><span class="typeNameLink">RestCall</span></a> (implements java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>)</li>
 <li type="circle">org.apache.juneau.serializer.<a href="org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer"><span class="typeNameLink">SerializerSession</span></a>
 <ul>
 <li type="circle">org.apache.juneau.serializer.<a href="org/apache/juneau/serializer/OutputStreamSerializerSession.html" title="class in org.apache.juneau.serializer"><span class="typeNameLink">OutputStreamSerializerSession</span></a>
diff --git a/content/site/apidocs/resources/juneau-code.css b/content/site/apidocs/resources/juneau-code.css
index 8be3dd9..d58bb74 100644
--- a/content/site/apidocs/resources/juneau-code.css
+++ b/content/site/apidocs/resources/juneau-code.css
@@ -49,7 +49,7 @@
  *  <cc> - Config file comment	
  * 	<cs> - Config file section
  * 	<ck> - Config file key
- * 	<ce> - Config file entry
+ * 	<cv> - Config file value
  ***************************************************************************************************************************/
 
 /* Monospaced font size */
diff --git a/content/site/apidocs/resources/juneau-doc.css b/content/site/apidocs/resources/juneau-doc.css
index 50d8478..0a4fcf8 100644
--- a/content/site/apidocs/resources/juneau-doc.css
+++ b/content/site/apidocs/resources/juneau-doc.css
@@ -19,11 +19,10 @@
  * Available classes:
  *	fixedWidth - Force block to be 800 px wide.
  *	table.styled - A table with alternating row colors.
- *	h2/h3/h4/h5/h6.topic - Topic headers.
+ *	h2/h3/h4/h5.topic - Topic headers.
  * 	bordered - Put border around a block (e.g. an image).
  *	padded - Put padding around a block (e.g. an image).
  *	ol/ul.toc - Table of contents.
- *	ol/ul.notes - Notes.
  *	code.snippet - A code snippet.
  *	ol/ul.spaced-list - A spaced list.
  *	ol/ul.javahierarchy - A Java class hierarchy list.
@@ -166,28 +165,28 @@ tr.borderbottom td {
 	margin: 0px;
 }
 
-ol.toc, ol.notes,
-ul.toc, ul.notes,
-.toc ol, .notes ol,
-.toc ul, .notes ul {
+ol.toc,
+ul.toc,
+.toc ol,
+.toc ul {
 	background: #dee3e9;
 	margin: 0px;
 	padding: 0px;
 }
 
-ul.toc, ul.notes,
-.toc ul, .notes ul {
+ul.toc,
+.toc ul {
 	list-style: disc;
 }
 
-ol.toc p, ol.notes p,
-ul.toc p, ul.notes p,
-.toc ol p, .notes ol p,
-.toc ul p, .notes ul p,
-ol.toc div, ol.notes div,
-ul.toc div, ul.notes div,
-.toc ol div, .notes ol div,
-.toc ul div, .notes ul div {
+ol.toc p,
+ul.toc p,
+.toc ol p,
+.toc ul p,
+ol.toc div,
+ul.toc div,
+.toc ol div,
+.toc ul div {
 	color: #353833;
 	font: normal 1em Arial, Helvetica, sans-serif;
 	font-size: 1em;
@@ -201,19 +200,11 @@ ul.toc div, ul.notes div,
 	padding-left: 5px;
 }
 
-.notes li {
-	background: #FFFFFF;
-	margin-left: 30px;
-	padding-left: 5px;
-	padding-top: 10px;
-}
-
 /* Linear gradients */
 
 /* Light-colored background headers */
-h5.toc,h6.toc, 
-h5.notes,h6.notes, 
-h5.topic,h6.topic, 
+h5.toc, 
+h5.topic, 
 h2.title,
 div.docSummary > div.block,
 div.contentContainer > div.block > p:first-child {
@@ -235,8 +226,7 @@ body > p:first-child {
 
 /* Header styles */
 
-h5.toc, h5.notes,
-h6.toc, h6.notes {
+h5.toc {
 	color: #2C4557;
 	margin-bottom: 0px;
 	padding: 5px 30px;
@@ -245,7 +235,7 @@ h6.toc, h6.notes {
 	box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);
 }
 
-h5.topic, h6.topic {
+h5.topic {
 	color: #2C4557;
 	padding: 5px 20px;
 	margin: 30px 10px 10px 0px;
@@ -322,6 +312,9 @@ l {
 
 /* Documentation Tree */
 .doctree li {}
+li.normal {
+    list-style-image:none; 
+}
 li.link {
     list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABEElEQVQ4T2M0T3iVLyHKWvnvH4M4AwmAiYnh5adP/7oYvQrevmBmZiJJM8wekCGMvsXv/5NgMYrS33/+M1BkwOOX/ygzYM/pX8QZwMfN+L8lnZOhf+VPhvtP/zKC/HHh1h+Gx6+IdAEHG8P/WRVcDP///2con/aDYcfx34wgzSCAEgatGez/1WSZwDbgAm8//v8v7fcJrgbFAE1Fpv86iowMv/8gzPj7j4Hh7cd/DOkBrAzsrAwM9XN/MvQs/YUwQNb3zX9OdkxLP339z/Dtx3+GT9/+M/BwMv6/sZyTYdKa3wxdS36jKGZkMH9FdjoAh8GwMOD1AwYGBnky88NDRgbTNwkMTP8byDDkIcM/xgYA0dJ4nW6TgR4AAAAASUVORK5CYII=');
 }
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
index 3245e64..e879979 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/Resource.html
@@ -51,35 +51,26 @@
 <span class="sourceLineNo">043</span> * &lt;/ul&gt;<a name="line.43"></a>
 <span class="sourceLineNo">044</span> */<a name="line.44"></a>
 <span class="sourceLineNo">045</span>@SuppressWarnings("serial")<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@RestResource(<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   htmldoc=@HtmlDoc(<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      navlinks={<a name="line.48"></a>
-<span class="sourceLineNo">049</span>         "up: request:/..",<a name="line.49"></a>
-<span class="sourceLineNo">050</span>         "options: servlet:/?method=OPTIONS"<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      },<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   ),<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   config="$S{juneau.configFile}"<a name="line.54"></a>
-<span class="sourceLineNo">055</span>)<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public abstract class Resource extends RestServletDefault {<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>   /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    * Add &lt;code&gt;$ARGS&lt;/code&gt; and &lt;code&gt;$MF&lt;/code&gt; variable resolvers.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    * <a name="line.60"></a>
-<span class="sourceLineNo">061</span>    * @param builder The resource config.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    * @throws Exception<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   @RestHook(INIT) <a name="line.64"></a>
-<span class="sourceLineNo">065</span>   public void addConfigVars(RestContextBuilder builder) throws Exception {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      Microservice m = Microservice.getInstance();<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      if (m != null) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>         builder<a name="line.68"></a>
-<span class="sourceLineNo">069</span>            .vars(ArgsVar.class, ManifestFileVar.class)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>            .varContextObject(ArgsVar.SESSION_args, m.getArgs())<a name="line.70"></a>
-<span class="sourceLineNo">071</span>            .varContextObject(ManifestFileVar.SESSION_manifest, m.getManifest());<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      }<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>}<a name="line.74"></a>
+<span class="sourceLineNo">046</span>@RestResource<a name="line.46"></a>
+<span class="sourceLineNo">047</span>public abstract class Resource extends RestServletDefault {<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>   /**<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    * Add &lt;code&gt;$ARGS&lt;/code&gt; and &lt;code&gt;$MF&lt;/code&gt; variable resolvers.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * <a name="line.51"></a>
+<span class="sourceLineNo">052</span>    * @param builder The resource config.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    * @throws Exception<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   @RestHook(INIT) <a name="line.55"></a>
+<span class="sourceLineNo">056</span>   public void addConfigVars(RestContextBuilder builder) throws Exception {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      Microservice m = Microservice.getInstance();<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      if (m != null) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>         builder<a name="line.59"></a>
+<span class="sourceLineNo">060</span>            .vars(ArgsVar.class, ManifestFileVar.class)<a name="line.60"></a>
+<span class="sourceLineNo">061</span>            .varContextObject(ArgsVar.SESSION_args, m.getArgs())<a name="line.61"></a>
+<span class="sourceLineNo">062</span>            .varContextObject(ManifestFileVar.SESSION_manifest, m.getManifest());<a name="line.62"></a>
+<span class="sourceLineNo">063</span>      }<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>}<a name="line.65"></a>
 
 
 
diff --git a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
index 66a8ec5..4df7627 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/microservice/ResourceGroup.html
@@ -52,35 +52,26 @@
 <span class="sourceLineNo">044</span> * &lt;/ul&gt;<a name="line.44"></a>
 <span class="sourceLineNo">045</span> */<a name="line.45"></a>
 <span class="sourceLineNo">046</span>@SuppressWarnings("serial")<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@RestResource(<a name="line.47"></a>
-<span class="sourceLineNo">048</span>   htmldoc=@HtmlDoc(<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      navlinks={<a name="line.49"></a>
-<span class="sourceLineNo">050</span>         "up: request:/..",<a name="line.50"></a>
-<span class="sourceLineNo">051</span>         "options: servlet:/?method=OPTIONS"<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      },<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}"<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   ),<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   config="$S{juneau.configFile}"<a name="line.55"></a>
-<span class="sourceLineNo">056</span>)<a name="line.56"></a>
-<span class="sourceLineNo">057</span>public abstract class ResourceGroup extends RestServletGroupDefault {<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>   /**<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    * Initializes the registry URL and rest clent.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    * <a name="line.61"></a>
-<span class="sourceLineNo">062</span>    * @param builder The resource config.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    * @throws Exception<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   @RestHook(INIT) <a name="line.65"></a>
-<span class="sourceLineNo">066</span>   public void addConfigVars(RestContextBuilder builder) throws Exception {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      Microservice m = Microservice.getInstance();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      if (m != null) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>         builder<a name="line.69"></a>
-<span class="sourceLineNo">070</span>            .vars(ArgsVar.class, ManifestFileVar.class)<a name="line.70"></a>
-<span class="sourceLineNo">071</span>            .varContextObject(ArgsVar.SESSION_args, m.getArgs())<a name="line.71"></a>
-<span class="sourceLineNo">072</span>            .varContextObject(ManifestFileVar.SESSION_manifest, m.getManifest());<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>}<a name="line.75"></a>
+<span class="sourceLineNo">047</span>@RestResource<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public abstract class ResourceGroup extends RestServletGroupDefault {<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>   /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * Initializes the registry URL and rest clent.<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    * <a name="line.52"></a>
+<span class="sourceLineNo">053</span>    * @param builder The resource config.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * @throws Exception<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   @RestHook(INIT) <a name="line.56"></a>
+<span class="sourceLineNo">057</span>   public void addConfigVars(RestContextBuilder builder) throws Exception {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      Microservice m = Microservice.getInstance();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      if (m != null) {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>         builder<a name="line.60"></a>
+<span class="sourceLineNo">061</span>            .vars(ArgsVar.class, ManifestFileVar.class)<a name="line.61"></a>
+<span class="sourceLineNo">062</span>            .varContextObject(ArgsVar.SESSION_args, m.getArgs())<a name="line.62"></a>
+<span class="sourceLineNo">063</span>            .varContextObject(ManifestFileVar.SESSION_manifest, m.getManifest());<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>}<a name="line.66"></a>
 
 
 
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
index dd4a069..a032b1d 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletDefault.html
@@ -207,40 +207,47 @@
 <span class="sourceLineNo">199</span>         "&lt;h2&gt;$R{methodSummary,resourceDescription}&lt;/h2&gt;",<a name="line.199"></a>
 <span class="sourceLineNo">200</span>         "&lt;a href='http://juneau.apache.org'&gt;&lt;img src='$U{servlet:/htdocs/juneau.png}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'/&gt;&lt;/a&gt;"<a name="line.200"></a>
 <span class="sourceLineNo">201</span>      },<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}",<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      head={<a name="line.203"></a>
-<span class="sourceLineNo">204</span>         "&lt;link rel='icon' href='$U{servlet:/htdocs/juneau.png}'/&gt;"<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      }<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   ),<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>   // These are static files that are served up by the servlet under the specified sub-paths.<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   // For example, "/servletPath/htdocs/javadoc.css" resolves to the file "[servlet-package]/htdocs/javadoc.css"<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   staticFiles={"htdocs:htdocs","styles:styles"}<a name="line.210"></a>
-<span class="sourceLineNo">211</span>)<a name="line.211"></a>
-<span class="sourceLineNo">212</span>public abstract class RestServletDefault extends RestServlet {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   private static final long serialVersionUID = 1L;<a name="line.213"></a>
+<span class="sourceLineNo">202</span>      navlinks={<a name="line.202"></a>
+<span class="sourceLineNo">203</span>         "up: request:/..",<a name="line.203"></a>
+<span class="sourceLineNo">204</span>         "options: servlet:/?method=OPTIONS"<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      },<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      stylesheet="$C{REST/stylesheet,servlet:/styles/devops.css}",<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      head={<a name="line.207"></a>
+<span class="sourceLineNo">208</span>         "&lt;link rel='icon' href='$U{servlet:/htdocs/juneau.png}'/&gt;"<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   ),<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   <a name="line.211"></a>
+<span class="sourceLineNo">212</span>   // Optional external configuration file.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   config="$S{juneau.configFile}",<a name="line.213"></a>
 <span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>   /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    * [OPTIONS /*] - Show resource options.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    * <a name="line.217"></a>
-<span class="sourceLineNo">218</span>    * @param req The HTTP request.<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    * @return A bean containing the contents for the OPTIONS page.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>   @RestMethod(name=OPTIONS, path="/*",<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      htmldoc=@HtmlDoc(<a name="line.222"></a>
-<span class="sourceLineNo">223</span>         navlinks={<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            "back: servlet:/",<a name="line.224"></a>
-<span class="sourceLineNo">225</span>            "json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"<a name="line.225"></a>
-<span class="sourceLineNo">226</span>         },<a name="line.226"></a>
-<span class="sourceLineNo">227</span>         aside="NONE"<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      ),<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      summary="Swagger documentation",<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      description="Auto-generated swagger documentation for this resource"<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   )<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   public Swagger getOptions(RestRequest req) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      return req.getSwagger();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>}<a name="line.235"></a>
+<span class="sourceLineNo">215</span>   // These are static files that are served up by the servlet under the specified sub-paths.<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   // For example, "/servletPath/htdocs/javadoc.css" resolves to the file "[servlet-package]/htdocs/javadoc.css"<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   staticFiles={"htdocs:htdocs","styles:styles"}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>)<a name="line.218"></a>
+<span class="sourceLineNo">219</span>public abstract class RestServletDefault extends RestServlet {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   private static final long serialVersionUID = 1L;<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>   /**<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    * [OPTIONS /*] - Show resource options.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    * <a name="line.224"></a>
+<span class="sourceLineNo">225</span>    * @param req The HTTP request.<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * @return A bean containing the contents for the OPTIONS page.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    */<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   @RestMethod(name=OPTIONS, path="/*",<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      htmldoc=@HtmlDoc(<a name="line.229"></a>
+<span class="sourceLineNo">230</span>         navlinks={<a name="line.230"></a>
+<span class="sourceLineNo">231</span>            "back: servlet:/",<a name="line.231"></a>
+<span class="sourceLineNo">232</span>            "json: servlet:/?method=OPTIONS&amp;Accept=text/json&amp;plainText=true"<a name="line.232"></a>
+<span class="sourceLineNo">233</span>         },<a name="line.233"></a>
+<span class="sourceLineNo">234</span>         aside="NONE"<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      ),<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      summary="Swagger documentation",<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      description="Auto-generated swagger documentation for this resource"<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   )<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   public Swagger getOptions(RestRequest req) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return req.getSwagger();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   }<a name="line.241"></a>
+<span class="sourceLineNo">242</span>}<a name="line.242"></a>
 
 
 
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletGroupDefault.html b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletGroupDefault.html
index bc1aed2..89b4f13 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletGroupDefault.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/RestServletGroupDefault.html
@@ -40,7 +40,7 @@
 <span class="sourceLineNo">032</span> *    &lt;li class='link'&gt;&lt;a class="doclink" href="../../../../overview-summary.html#juneau-rest-server.RouterPages"&gt;Overview &amp;gt; juneau-rest-server &amp;gt; Router Pages&lt;/a&gt;<a name="line.32"></a>
 <span class="sourceLineNo">033</span> * &lt;/ul&gt;<a name="line.33"></a>
 <span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span>@RestResource()<a name="line.35"></a>
+<span class="sourceLineNo">035</span>@RestResource<a name="line.35"></a>
 <span class="sourceLineNo">036</span>public abstract class RestServletGroupDefault extends RestServletDefault {<a name="line.36"></a>
 <span class="sourceLineNo">037</span>   private static final long serialVersionUID = 1L;<a name="line.37"></a>
 <span class="sourceLineNo">038</span><a name="line.38"></a>
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/client/ResponsePattern.html b/content/site/apidocs/src-html/org/apache/juneau/rest/client/ResponsePattern.html
index 1628975..fe7cb87 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/client/ResponsePattern.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/client/ResponsePattern.html
@@ -65,8 +65,8 @@
 <span class="sourceLineNo">057</span> *       .run();<a name="line.57"></a>
 <span class="sourceLineNo">058</span> * &lt;/p&gt;<a name="line.58"></a>
 <span class="sourceLineNo">059</span> * <a name="line.59"></a>
-<span class="sourceLineNo">060</span> * &lt;h5 class='notes'&gt;Important Notes:&lt;/h5&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * &lt;ol class='notes'&gt;<a name="line.61"></a>
+<span class="sourceLineNo">060</span> * &lt;h5 class='section'&gt;Important Notes:&lt;/h5&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * &lt;ol class='spaced-list'&gt;<a name="line.61"></a>
 <span class="sourceLineNo">062</span> *    &lt;li&gt;<a name="line.62"></a>
 <span class="sourceLineNo">063</span> *       Using response patterns does not affect the functionality of any of the other methods<a name="line.63"></a>
 <span class="sourceLineNo">064</span> *       used to retrieve the response such as {@link RestCall#getResponseAsString()} or {@link RestCall#getResponse(Class)}.<a name="line.64"></a>
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestCall.html b/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestCall.html
index 51394e2..1616d44 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestCall.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestCall.html
@@ -71,11 +71,11 @@
 <span class="sourceLineNo">063</span> * <a name="line.63"></a>
 <span class="sourceLineNo">064</span> * &lt;h5 class='section'&gt;See Also:&lt;/h5&gt;<a name="line.64"></a>
 <span class="sourceLineNo">065</span> * &lt;ul&gt;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> *    &lt;li class='link'&gt;&lt;a class="doclink" href="package-summary.html#RestClient"&gt;org.apache.juneau.rest.client &amp;gt; REST client API&lt;/a&gt;<a name="line.66"></a>
+<span class="sourceLineNo">066</span> *    &lt;li class='link'&gt;&lt;a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client"&gt;Overview &amp;gt; juneau-rest-client&lt;/a&gt;<a name="line.66"></a>
 <span class="sourceLineNo">067</span> * &lt;/ul&gt;<a name="line.67"></a>
 <span class="sourceLineNo">068</span> */<a name="line.68"></a>
 <span class="sourceLineNo">069</span>@SuppressWarnings({ "unchecked" })<a name="line.69"></a>
-<span class="sourceLineNo">070</span>public final class RestCall extends BeanSession {<a name="line.70"></a>
+<span class="sourceLineNo">070</span>public final class RestCall extends BeanSession implements Closeable {<a name="line.70"></a>
 <span class="sourceLineNo">071</span><a name="line.71"></a>
 <span class="sourceLineNo">072</span>   private final RestClient client;                       // The client that created this call.<a name="line.72"></a>
 <span class="sourceLineNo">073</span>   private final HttpRequestBase request;                 // The request.<a name="line.73"></a>
@@ -2103,42 +2103,41 @@
 <span class="sourceLineNo">2095</span>   /**<a name="line.2095"></a>
 <span class="sourceLineNo">2096</span>    * Cleans up this HTTP call.<a name="line.2096"></a>
 <span class="sourceLineNo">2097</span>    * <a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>    * @return This object (for method chaining).<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>    * @throws RestCallException Can be thrown by one of the {@link RestCallInterceptor#onClose(RestCall)} calls.<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>    */<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>   public RestCall close() throws RestCallException {<a name="line.2101"></a>
+<span class="sourceLineNo">2098</span>    * @throws RestCallException Can be thrown by one of the {@link RestCallInterceptor#onClose(RestCall)} calls.<a name="line.2098"></a>
+<span class="sourceLineNo">2099</span>    */<a name="line.2099"></a>
+<span class="sourceLineNo">2100</span>   @Override /* Closeable */<a name="line.2100"></a>
+<span class="sourceLineNo">2101</span>   public void close() throws RestCallException {<a name="line.2101"></a>
 <span class="sourceLineNo">2102</span>      if (response != null)<a name="line.2102"></a>
 <span class="sourceLineNo">2103</span>         EntityUtils.consumeQuietly(response.getEntity());<a name="line.2103"></a>
 <span class="sourceLineNo">2104</span>      isClosed = true;<a name="line.2104"></a>
 <span class="sourceLineNo">2105</span>      if (! isFailed)<a name="line.2105"></a>
 <span class="sourceLineNo">2106</span>         for (RestCallInterceptor r : interceptors)<a name="line.2106"></a>
 <span class="sourceLineNo">2107</span>            r.onClose(this);<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>      return this;<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>   }<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span><a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>   /**<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    * Adds a {@link RestCallLogger} to the list of interceptors on this class.<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>    * <a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    * @param level The log level to log events at.<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>    * @param log The logger.<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>    * @return This object (for method chaining).<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>    */<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>   public RestCall logTo(Level level, Logger log) {<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>      interceptor(new RestCallLogger(level, log));<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>      return this;<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>   }<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span><a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>   /**<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>    * Sets &lt;code&gt;Debug: value&lt;/code&gt; header on this request.<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>    * <a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>    * @return This object (for method chaining).<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span>    * @throws RestCallException<a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>    */<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>   public RestCall debug() throws RestCallException {<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>      header("Debug", true);<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>      return this;<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>   }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>}<a name="line.2133"></a>
+<span class="sourceLineNo">2108</span>   }<a name="line.2108"></a>
+<span class="sourceLineNo">2109</span><a name="line.2109"></a>
+<span class="sourceLineNo">2110</span>   /**<a name="line.2110"></a>
+<span class="sourceLineNo">2111</span>    * Adds a {@link RestCallLogger} to the list of interceptors on this class.<a name="line.2111"></a>
+<span class="sourceLineNo">2112</span>    * <a name="line.2112"></a>
+<span class="sourceLineNo">2113</span>    * @param level The log level to log events at.<a name="line.2113"></a>
+<span class="sourceLineNo">2114</span>    * @param log The logger.<a name="line.2114"></a>
+<span class="sourceLineNo">2115</span>    * @return This object (for method chaining).<a name="line.2115"></a>
+<span class="sourceLineNo">2116</span>    */<a name="line.2116"></a>
+<span class="sourceLineNo">2117</span>   public RestCall logTo(Level level, Logger log) {<a name="line.2117"></a>
+<span class="sourceLineNo">2118</span>      interceptor(new RestCallLogger(level, log));<a name="line.2118"></a>
+<span class="sourceLineNo">2119</span>      return this;<a name="line.2119"></a>
+<span class="sourceLineNo">2120</span>   }<a name="line.2120"></a>
+<span class="sourceLineNo">2121</span><a name="line.2121"></a>
+<span class="sourceLineNo">2122</span>   /**<a name="line.2122"></a>
+<span class="sourceLineNo">2123</span>    * Sets &lt;code&gt;Debug: value&lt;/code&gt; header on this request.<a name="line.2123"></a>
+<span class="sourceLineNo">2124</span>    * <a name="line.2124"></a>
+<span class="sourceLineNo">2125</span>    * @return This object (for method chaining).<a name="line.2125"></a>
+<span class="sourceLineNo">2126</span>    * @throws RestCallException<a name="line.2126"></a>
+<span class="sourceLineNo">2127</span>    */<a name="line.2127"></a>
+<span class="sourceLineNo">2128</span>   public RestCall debug() throws RestCallException {<a name="line.2128"></a>
+<span class="sourceLineNo">2129</span>      header("Debug", true);<a name="line.2129"></a>
+<span class="sourceLineNo">2130</span>      return this;<a name="line.2130"></a>
+<span class="sourceLineNo">2131</span>   }<a name="line.2131"></a>
+<span class="sourceLineNo">2132</span>}<a name="line.2132"></a>
 
 
 
diff --git a/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestClient.html b/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestClient.html
index b83e5d3..ade15b6 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestClient.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/rest/client/RestClient.html
@@ -62,1136 +62,1127 @@
 <span class="sourceLineNo">054</span> *       API for interacting with remoteable services.<a name="line.54"></a>
 <span class="sourceLineNo">055</span> * &lt;/ul&gt;<a name="line.55"></a>
 <span class="sourceLineNo">056</span> * <a name="line.56"></a>
-<span class="sourceLineNo">057</span> * &lt;h5 class='section'&gt;See Also:&lt;/h5&gt;<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;ul&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> *    &lt;li class='link'&gt;&lt;a class="doclink" href="package-summary.html#RestClient"&gt;org.apache.juneau.rest.client &amp;gt; REST client API&lt;/a&gt;.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * &lt;/ul&gt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span> */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>@SuppressWarnings("rawtypes")<a name="line.62"></a>
-<span class="sourceLineNo">063</span>public class RestClient extends BeanContext {<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>   //-------------------------------------------------------------------------------------------------------------------<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   // Configurable properties<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   //-------------------------------------------------------------------------------------------------------------------<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>   private static final String PREFIX = "RestClient.";<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>   /**<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    * Configuration property:  Debug.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    * <a name="line.73"></a>
-<span class="sourceLineNo">074</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    * &lt;ul&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.debug.b"&lt;/js&gt;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.79"></a>
-<span class="sourceLineNo">080</span>    *       &lt;ul&gt;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#debug()}<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    *       &lt;/ul&gt;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    * &lt;/ul&gt;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    * <a name="line.84"></a>
-<span class="sourceLineNo">085</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    * &lt;p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    * Enable debug mode.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   public static final String RESTCLIENT_debug = PREFIX + "debug.b";<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   <a name="line.90"></a>
-<span class="sourceLineNo">091</span>   /**<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    * Configuration property:  Executor service.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    * <a name="line.93"></a>
-<span class="sourceLineNo">094</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    * &lt;ul&gt;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.executorService.o"&lt;/js&gt;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; ExecutorService&amp;gt;&lt;/code&gt; or {@link ExecutorService}.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;null&lt;/jk&gt;.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.99"></a>
-<span class="sourceLineNo">100</span>    *       &lt;ul&gt;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#executorService(ExecutorService, boolean)}<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    *       &lt;/ul&gt;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    * &lt;/ul&gt;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    * <a name="line.104"></a>
-<span class="sourceLineNo">105</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    * &lt;p&gt;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    * Defines the executor service to use when calling future methods on the {@link RestCall} class.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    * <a name="line.108"></a>
-<span class="sourceLineNo">109</span>    * &lt;p&gt;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    * This executor service is used to create {@link Future} objects on the following methods:<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    * &lt;ul&gt;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    *    &lt;li&gt;{@link RestCall#runFuture()}<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    *    &lt;li&gt;{@link RestCall#getResponseFuture(Class)}<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    *    &lt;li&gt;{@link RestCall#getResponseFuture(Type,Type...)}<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    *    &lt;li&gt;{@link RestCall#getResponseAsString()}<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    * &lt;/ul&gt;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    * <a name="line.117"></a>
-<span class="sourceLineNo">118</span>    * &lt;p&gt;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    * The default executor service is a single-threaded {@link ThreadPoolExecutor} with a 30 second timeout<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    * and a queue size of 10.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   public static final String RESTCLIENT_executorService = PREFIX + "executorService.o";<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>   /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    * Configuration property:  Shut down executor service on close.<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    * <a name="line.126"></a>
-<span class="sourceLineNo">127</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    * &lt;ul&gt;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.executorServiceShutdownOnClose.b"&lt;/js&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.132"></a>
-<span class="sourceLineNo">133</span>    *       &lt;ul&gt;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#executorService(ExecutorService, boolean)}<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    *       &lt;/ul&gt;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    * &lt;/ul&gt;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    * <a name="line.137"></a>
-<span class="sourceLineNo">138</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    * &lt;p&gt;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    * Call {@link ExecutorService#shutdown()} when {@link RestClient#close()} is called.<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    */<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   public static final String RESTCLIENT_executorServiceShutdownOnClose = PREFIX + "executorServiceShutdownOnClose.b";<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   <a name="line.143"></a>
-<span class="sourceLineNo">144</span>   /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    * Configuration property:  Request headers.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    * <a name="line.146"></a>
-<span class="sourceLineNo">147</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    * &lt;ul&gt;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.requestHeader.sms"&lt;/js&gt;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Map&amp;lt;String,String&amp;gt;&lt;/code&gt;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty map<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.152"></a>
-<span class="sourceLineNo">153</span>    *       &lt;ul&gt;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#setDefaultHeaders(Collection)}<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#header(String, Object)}<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    *       &lt;/ul&gt;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    * &lt;/ul&gt;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    * <a name="line.158"></a>
-<span class="sourceLineNo">159</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    * &lt;p&gt;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    * Headers to add to every request.<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    */<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   public static final String RESTCLIENT_headers = PREFIX + "headers.sms";<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>   /**<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    * Configuration property:  Call interceptors.<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    * <a name="line.167"></a>
-<span class="sourceLineNo">168</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    * &lt;ul&gt;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.interceptors.lo"&lt;/js&gt;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;List&amp;lt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; RestCallInterceptor&amp;gt; | RestCallInterceptor&amp;gt;&lt;/code&gt;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty list.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.173"></a>
-<span class="sourceLineNo">174</span>    *       &lt;ul&gt;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#interceptors(RestCallInterceptor...)}<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    *       &lt;/ul&gt;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    * &lt;/ul&gt;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    * <a name="line.178"></a>
-<span class="sourceLineNo">179</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    * &lt;p&gt;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    * Interceptors that get called immediately after a connection is made.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   public static final String RESTCLIENT_interceptors = PREFIX + "interceptors.lo";<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>   /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    * Add to the Call interceptors property.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   public static final String RESTCLIENT_interceptors_add = PREFIX + "interceptors.lo/add";<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>   /**<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    * Configuration property:  Keep HttpClient open.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    * <a name="line.192"></a>
-<span class="sourceLineNo">193</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    * &lt;ul&gt;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.keepHttpClientOpen.b"&lt;/js&gt;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.198"></a>
-<span class="sourceLineNo">199</span>    *       &lt;ul&gt;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#keepHttpClientOpen(boolean)}<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    *       &lt;/ul&gt;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    * &lt;/ul&gt;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    * <a name="line.203"></a>
-<span class="sourceLineNo">204</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    * &lt;p&gt;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    * Don't close this client when the {@link RestClient#close()} method is called.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    */<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   public static final String RESTCLIENT_keepHttpClientOpen = PREFIX + "keepHttpClientOpen.b";<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   <a name="line.209"></a>
-<span class="sourceLineNo">210</span>   /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    * Configuration property:  Parser.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    * <a name="line.212"></a>
-<span class="sourceLineNo">213</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    * &lt;ul&gt;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.parser.o"&lt;/js&gt;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;extends&lt;/jk&gt; Parser&amp;gt;&lt;/code&gt; or {@link Parser}.<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link JsonParser};<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.218"></a>
-<span class="sourceLineNo">219</span>    *       &lt;ul&gt;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#parser(Class)}<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#parser(Parser)}<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    *       &lt;/ul&gt;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    * &lt;/ul&gt;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    * <a name="line.224"></a>
-<span class="sourceLineNo">225</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    * &lt;p&gt;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    * The parser to use for parsing POJOs in response bodies.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>   public static final String RESTCLIENT_parser = PREFIX + "parser.o";<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>   /**<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    * Configuration property:  Part serializer.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    * <a name="line.233"></a>
-<span class="sourceLineNo">234</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    * &lt;ul&gt;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.urlEncodingSerializer.o"&lt;/js&gt;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; HttpPartSerializer&amp;gt;&lt;/code&gt; or {@link HttpPartSerializer}.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link SimpleUonPartSerializer};<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.239"></a>
-<span class="sourceLineNo">240</span>    *       &lt;ul&gt;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#partSerializer(Class)}<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#partSerializer(HttpPartSerializer)}<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    *       &lt;/ul&gt;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    * &lt;/ul&gt;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    * <a name="line.245"></a>
-<span class="sourceLineNo">246</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    * &lt;p&gt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    * The serializer to use for serializing POJOs in form data, query parameters, headers, and path variables.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    */<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   public static final String RESTCLIENT_partSerializer = PREFIX + "partSerializer.o";<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   <a name="line.251"></a>
-<span class="sourceLineNo">252</span>   /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    * Configuration property:  Request query parameters.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    * <a name="line.254"></a>
-<span class="sourceLineNo">255</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    * &lt;ul&gt;<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.query.sms"&lt;/js&gt;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Map&amp;lt;String,String&amp;gt;&lt;/code&gt;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty map<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.260"></a>
-<span class="sourceLineNo">261</span>    *       &lt;ul&gt;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#query(String, Object)}<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    *       &lt;/ul&gt;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    * &lt;/ul&gt;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    * <a name="line.265"></a>
-<span class="sourceLineNo">266</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    * &lt;p&gt;<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    * Query parameters to add to every request.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    */<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   public static final String RESTCLIENT_query = PREFIX + "query.sms";<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>   /**<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    * Configuration property:  Number of retries to attempt.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    * <a name="line.274"></a>
-<span class="sourceLineNo">275</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    * &lt;ul&gt;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retries.i"&lt;/js&gt;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Integer&lt;/code&gt;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;code&gt;1&lt;/code&gt;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.280"></a>
-<span class="sourceLineNo">281</span>    *       &lt;ul&gt;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    *       &lt;/ul&gt;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    * &lt;/ul&gt;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    * <a name="line.285"></a>
-<span class="sourceLineNo">286</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    * &lt;p&gt;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    * The number of retries to attempt when the connection cannot be made or a &lt;code&gt;&amp;gt;400&lt;/code&gt; response is received.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   public static final String RESTCLIENT_retries = PREFIX + "retries.i";<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   <a name="line.291"></a>
-<span class="sourceLineNo">292</span>   /**<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    * Configuration property:  The time in milliseconds between retry attempts.<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    * <a name="line.294"></a>
-<span class="sourceLineNo">295</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    * &lt;ul&gt;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retryInterval.i"&lt;/js&gt;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Integer&lt;/code&gt;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;code&gt;-1&lt;/code&gt;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.300"></a>
-<span class="sourceLineNo">301</span>    *       &lt;ul&gt;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    *       &lt;/ul&gt;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    * &lt;/ul&gt;<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    * <a name="line.305"></a>
-<span class="sourceLineNo">306</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    * &lt;p&gt;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    * The time in milliseconds between retry attempts.<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    * &lt;code&gt;-1&lt;/code&gt; means retry immediately.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   public static final String RESTCLIENT_retryInterval = PREFIX + "retryInterval.i";<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   <a name="line.312"></a>
-<span class="sourceLineNo">313</span>   /**<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    * Configuration property:  Retry-on determination object.<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    * <a name="line.315"></a>
-<span class="sourceLineNo">316</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    * &lt;ul&gt;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retryOn.o"&lt;/js&gt;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? extends {@link RetryOn}&lt;/code&gt; or {@link RetryOn}<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link RetryOn#DEFAULT}<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.321"></a>
-<span class="sourceLineNo">322</span>    *       &lt;ul&gt;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    *       &lt;/ul&gt;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    * &lt;/ul&gt;<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    * <a name="line.326"></a>
-<span class="sourceLineNo">327</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    * &lt;p&gt;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    * Object used for determining whether a retry should be attempted.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    */<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   public static final String RESTCLIENT_retryOn = PREFIX + "retryOn.o";<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   <a name="line.332"></a>
-<span class="sourceLineNo">333</span>   /**<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    * Configuration property:  Root URI.<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    * <a name="line.335"></a>
-<span class="sourceLineNo">336</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    * &lt;ul&gt;<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.rootUri.s"&lt;/js&gt;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;String&lt;/code&gt;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.341"></a>
-<span class="sourceLineNo">342</span>    *       &lt;ul&gt;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#rootUrl(Object)}<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    *       &lt;/ul&gt;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    * &lt;/ul&gt;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    * <a name="line.346"></a>
-<span class="sourceLineNo">347</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    * &lt;p&gt;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    * When set, relative URL strings passed in through the various rest call methods (e.g. {@link RestClient#doGet(Object)}<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    * will be prefixed with the specified root.<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    * &lt;br&gt;This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    * &lt;br&gt;Trailing slashes are trimmed.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   public static final String RESTCLIENT_rootUri = PREFIX + "rootUri.s";<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   <a name="line.355"></a>
-<span class="sourceLineNo">356</span>   /**<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    * Configuration property:  Serializer.<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    * <a name="line.358"></a>
-<span class="sourceLineNo">359</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    * &lt;ul&gt;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.serializer.o"&lt;/js&gt;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;extends&lt;/jk&gt; Serializer&amp;gt;&lt;/code&gt; or {@link Serializer}.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link JsonSerializer};<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.364"></a>
-<span class="sourceLineNo">365</span>    *       &lt;ul&gt;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#serializer(Class)}<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#serializer(Serializer)}<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    *       &lt;/ul&gt;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    * &lt;/ul&gt;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    * <a name="line.370"></a>
-<span class="sourceLineNo">371</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    * &lt;p&gt;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    * The serializer to use for serializing POJOs in request bodies.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    */<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   public static final String RESTCLIENT_serializer = PREFIX + "serializer.o";<a name="line.375"></a>
-<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">057</span> * <a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;h5 class='section'&gt;See Also:&lt;/h5&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;ul&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *    &lt;li class='link'&gt;&lt;a class="doclink" href="../../../../../overview-summary.html#juneau-rest-client"&gt;Overview &amp;gt; juneau-rest-client&lt;/a&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * &lt;/ul&gt;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>@SuppressWarnings("rawtypes")<a name="line.63"></a>
+<span class="sourceLineNo">064</span>public class RestClient extends BeanContext implements Closeable {<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>   //-------------------------------------------------------------------------------------------------------------------<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   // Configurable properties<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   //-------------------------------------------------------------------------------------------------------------------<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>   private static final String PREFIX = "RestClient.";<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>   /**<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    * Configuration property:  Debug.<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    * <a name="line.74"></a>
+<span class="sourceLineNo">075</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    * &lt;ul&gt;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.debug.b"&lt;/js&gt;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.80"></a>
+<span class="sourceLineNo">081</span>    *       &lt;ul&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#debug()}<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    *       &lt;/ul&gt;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    * &lt;/ul&gt;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    * <a name="line.85"></a>
+<span class="sourceLineNo">086</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    * &lt;p&gt;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    * Enable debug mode.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   public static final String RESTCLIENT_debug = PREFIX + "debug.b";<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   <a name="line.91"></a>
+<span class="sourceLineNo">092</span>   /**<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    * Configuration property:  Executor service.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    * <a name="line.94"></a>
+<span class="sourceLineNo">095</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    * &lt;ul&gt;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.executorService.o"&lt;/js&gt;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; ExecutorService&amp;gt;&lt;/code&gt; or {@link ExecutorService}.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;null&lt;/jk&gt;.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.100"></a>
+<span class="sourceLineNo">101</span>    *       &lt;ul&gt;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#executorService(ExecutorService, boolean)}<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    *       &lt;/ul&gt;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    * &lt;/ul&gt;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    * <a name="line.105"></a>
+<span class="sourceLineNo">106</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    * &lt;p&gt;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    * Defines the executor service to use when calling future methods on the {@link RestCall} class.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    * <a name="line.109"></a>
+<span class="sourceLineNo">110</span>    * &lt;p&gt;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    * This executor service is used to create {@link Future} objects on the following methods:<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    * &lt;ul&gt;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    *    &lt;li&gt;{@link RestCall#runFuture()}<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    *    &lt;li&gt;{@link RestCall#getResponseFuture(Class)}<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    *    &lt;li&gt;{@link RestCall#getResponseFuture(Type,Type...)}<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    *    &lt;li&gt;{@link RestCall#getResponseAsString()}<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    * &lt;/ul&gt;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    * <a name="line.118"></a>
+<span class="sourceLineNo">119</span>    * &lt;p&gt;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    * The default executor service is a single-threaded {@link ThreadPoolExecutor} with a 30 second timeout<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    * and a queue size of 10.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   public static final String RESTCLIENT_executorService = PREFIX + "executorService.o";<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>   /**<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    * Configuration property:  Shut down executor service on close.<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    * <a name="line.127"></a>
+<span class="sourceLineNo">128</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    * &lt;ul&gt;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.executorServiceShutdownOnClose.b"&lt;/js&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.133"></a>
+<span class="sourceLineNo">134</span>    *       &lt;ul&gt;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#executorService(ExecutorService, boolean)}<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    *       &lt;/ul&gt;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    * &lt;/ul&gt;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    * <a name="line.138"></a>
+<span class="sourceLineNo">139</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    * &lt;p&gt;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    * Call {@link ExecutorService#shutdown()} when {@link RestClient#close()} is called.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   public static final String RESTCLIENT_executorServiceShutdownOnClose = PREFIX + "executorServiceShutdownOnClose.b";<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   <a name="line.144"></a>
+<span class="sourceLineNo">145</span>   /**<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    * Configuration property:  Request headers.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    * <a name="line.147"></a>
+<span class="sourceLineNo">148</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    * &lt;ul&gt;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.requestHeader.sms"&lt;/js&gt;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Map&amp;lt;String,String&amp;gt;&lt;/code&gt;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty map<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.153"></a>
+<span class="sourceLineNo">154</span>    *       &lt;ul&gt;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#setDefaultHeaders(Collection)}<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#header(String, Object)}<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    *       &lt;/ul&gt;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    * &lt;/ul&gt;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    * <a name="line.159"></a>
+<span class="sourceLineNo">160</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    * &lt;p&gt;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    * Headers to add to every request.<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    */<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   public static final String RESTCLIENT_headers = PREFIX + "headers.sms";<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>   /**<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    * Configuration property:  Call interceptors.<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    * <a name="line.168"></a>
+<span class="sourceLineNo">169</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    * &lt;ul&gt;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.interceptors.lo"&lt;/js&gt;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;List&amp;lt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; RestCallInterceptor&amp;gt; | RestCallInterceptor&amp;gt;&lt;/code&gt;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty list.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.174"></a>
+<span class="sourceLineNo">175</span>    *       &lt;ul&gt;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#interceptors(RestCallInterceptor...)}<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    *       &lt;/ul&gt;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    * &lt;/ul&gt;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    * <a name="line.179"></a>
+<span class="sourceLineNo">180</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    * &lt;p&gt;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    * Interceptors that get called immediately after a connection is made.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   public static final String RESTCLIENT_interceptors = PREFIX + "interceptors.lo";<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>   /**<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    * Add to the Call interceptors property.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   public static final String RESTCLIENT_interceptors_add = PREFIX + "interceptors.lo/add";<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>   /**<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    * Configuration property:  Keep HttpClient open.<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    * <a name="line.193"></a>
+<span class="sourceLineNo">194</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    * &lt;ul&gt;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.keepHttpClientOpen.b"&lt;/js&gt;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Boolean&lt;/code&gt;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.199"></a>
+<span class="sourceLineNo">200</span>    *       &lt;ul&gt;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#keepHttpClientOpen(boolean)}<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    *       &lt;/ul&gt;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    * &lt;/ul&gt;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    * <a name="line.204"></a>
+<span class="sourceLineNo">205</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    * &lt;p&gt;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    * Don't close this client when the {@link RestClient#close()} method is called.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    */<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   public static final String RESTCLIENT_keepHttpClientOpen = PREFIX + "keepHttpClientOpen.b";<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   <a name="line.210"></a>
+<span class="sourceLineNo">211</span>   /**<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    * Configuration property:  Parser.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    * <a name="line.213"></a>
+<span class="sourceLineNo">214</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    * &lt;ul&gt;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.parser.o"&lt;/js&gt;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;extends&lt;/jk&gt; Parser&amp;gt;&lt;/code&gt; or {@link Parser}.<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link JsonParser};<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.219"></a>
+<span class="sourceLineNo">220</span>    *       &lt;ul&gt;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#parser(Class)}<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#parser(Parser)}<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    *       &lt;/ul&gt;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    * &lt;/ul&gt;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    * <a name="line.225"></a>
+<span class="sourceLineNo">226</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    * &lt;p&gt;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    * The parser to use for parsing POJOs in response bodies.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    */<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   public static final String RESTCLIENT_parser = PREFIX + "parser.o";<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>   /**<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    * Configuration property:  Part serializer.<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    * <a name="line.234"></a>
+<span class="sourceLineNo">235</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    * &lt;ul&gt;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.urlEncodingSerializer.o"&lt;/js&gt;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;implements&lt;/jk&gt; HttpPartSerializer&amp;gt;&lt;/code&gt; or {@link HttpPartSerializer}.<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link SimpleUonPartSerializer};<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.240"></a>
+<span class="sourceLineNo">241</span>    *       &lt;ul&gt;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#partSerializer(Class)}<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#partSerializer(HttpPartSerializer)}<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    *       &lt;/ul&gt;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    * &lt;/ul&gt;<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    * <a name="line.246"></a>
+<span class="sourceLineNo">247</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    * &lt;p&gt;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    * The serializer to use for serializing POJOs in form data, query parameters, headers, and path variables.<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    */<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   public static final String RESTCLIENT_partSerializer = PREFIX + "partSerializer.o";<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   <a name="line.252"></a>
+<span class="sourceLineNo">253</span>   /**<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    * Configuration property:  Request query parameters.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    * <a name="line.255"></a>
+<span class="sourceLineNo">256</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>    * &lt;ul&gt;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.query.sms"&lt;/js&gt;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Map&amp;lt;String,String&amp;gt;&lt;/code&gt;<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  empty map<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.261"></a>
+<span class="sourceLineNo">262</span>    *       &lt;ul&gt;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#query(String, Object)}<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    *       &lt;/ul&gt;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    * &lt;/ul&gt;<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    * <a name="line.266"></a>
+<span class="sourceLineNo">267</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    * &lt;p&gt;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    * Query parameters to add to every request.<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    */<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   public static final String RESTCLIENT_query = PREFIX + "query.sms";<a name="line.271"></a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span>   /**<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    * Configuration property:  Number of retries to attempt.<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    * <a name="line.275"></a>
+<span class="sourceLineNo">276</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    * &lt;ul&gt;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retries.i"&lt;/js&gt;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Integer&lt;/code&gt;<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;code&gt;1&lt;/code&gt;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.281"></a>
+<span class="sourceLineNo">282</span>    *       &lt;ul&gt;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    *       &lt;/ul&gt;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    * &lt;/ul&gt;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    * <a name="line.286"></a>
+<span class="sourceLineNo">287</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    * &lt;p&gt;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    * The number of retries to attempt when the connection cannot be made or a &lt;code&gt;&amp;gt;400&lt;/code&gt; response is received.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   public static final String RESTCLIENT_retries = PREFIX + "retries.i";<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   <a name="line.292"></a>
+<span class="sourceLineNo">293</span>   /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    * Configuration property:  The time in milliseconds between retry attempts.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    * <a name="line.295"></a>
+<span class="sourceLineNo">296</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    * &lt;ul&gt;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retryInterval.i"&lt;/js&gt;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Integer&lt;/code&gt;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;code&gt;-1&lt;/code&gt;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.301"></a>
+<span class="sourceLineNo">302</span>    *       &lt;ul&gt;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    *       &lt;/ul&gt;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    * &lt;/ul&gt;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    * <a name="line.306"></a>
+<span class="sourceLineNo">307</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    * &lt;p&gt;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    * The time in milliseconds between retry attempts.<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    * &lt;code&gt;-1&lt;/code&gt; means retry immediately.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   public static final String RESTCLIENT_retryInterval = PREFIX + "retryInterval.i";<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   <a name="line.313"></a>
+<span class="sourceLineNo">314</span>   /**<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    * Configuration property:  Retry-on determination object.<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    * <a name="line.316"></a>
+<span class="sourceLineNo">317</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    * &lt;ul&gt;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.retryOn.o"&lt;/js&gt;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? extends {@link RetryOn}&lt;/code&gt; or {@link RetryOn}<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link RetryOn#DEFAULT}<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.322"></a>
+<span class="sourceLineNo">323</span>    *       &lt;ul&gt;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#retryable(int, int, RetryOn)}<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    *       &lt;/ul&gt;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    * &lt;/ul&gt;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    * <a name="line.327"></a>
+<span class="sourceLineNo">328</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    * &lt;p&gt;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    * Object used for determining whether a retry should be attempted.<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    */<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   public static final String RESTCLIENT_retryOn = PREFIX + "retryOn.o";<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   <a name="line.333"></a>
+<span class="sourceLineNo">334</span>   /**<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    * Configuration property:  Root URI.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    * <a name="line.336"></a>
+<span class="sourceLineNo">337</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    * &lt;ul&gt;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.rootUri.s"&lt;/js&gt;<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;String&lt;/code&gt;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  &lt;jk&gt;false&lt;/jk&gt;<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.342"></a>
+<span class="sourceLineNo">343</span>    *       &lt;ul&gt;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#rootUrl(Object)}<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    *       &lt;/ul&gt;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    * &lt;/ul&gt;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    * <a name="line.347"></a>
+<span class="sourceLineNo">348</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    * &lt;p&gt;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    * When set, relative URL strings passed in through the various rest call methods (e.g. {@link RestClient#doGet(Object)}<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    * will be prefixed with the specified root.<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    * &lt;br&gt;This root URL is ignored on those methods if you pass in a {@link URL}, {@link URI}, or an absolute URL string.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    * &lt;br&gt;Trailing slashes are trimmed.<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>   public static final String RESTCLIENT_rootUri = PREFIX + "rootUri.s";<a name="line.355"></a>
+<span class="sourceLineNo">356</span>   <a name="line.356"></a>
+<span class="sourceLineNo">357</span>   /**<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    * Configuration property:  Serializer.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    * <a name="line.359"></a>
+<span class="sourceLineNo">360</span>    * &lt;h5 class='section'&gt;Property:&lt;/h5&gt;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    * &lt;ul&gt;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    *    &lt;li&gt;&lt;b&gt;Name:&lt;/b&gt;  &lt;js&gt;"RestClient.serializer.o"&lt;/js&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    *    &lt;li&gt;&lt;b&gt;Data type:&lt;/b&gt;  &lt;code&gt;Class&amp;lt;? &lt;jk&gt;extends&lt;/jk&gt; Serializer&amp;gt;&lt;/code&gt; or {@link Serializer}.<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    *    &lt;li&gt;&lt;b&gt;Default:&lt;/b&gt;  {@link JsonSerializer};<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    *    &lt;li&gt;&lt;b&gt;Methods:&lt;/b&gt; <a name="line.365"></a>
+<span class="sourceLineNo">366</span>    *       &lt;ul&gt;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#serializer(Class)}<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    *          &lt;li class='jm'&gt;{@link RestClientBuilder#serializer(Serializer)}<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    *       &lt;/ul&gt;<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    * &lt;/ul&gt;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    * <a name="line.371"></a>
+<span class="sourceLineNo">372</span>    * &lt;h5 class='section'&gt;Description:&lt;/h5&gt;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    * &lt;p&gt;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    * The serializer to use for serializing POJOs in request bodies.<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    */<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   public static final String RESTCLIENT_serializer = PREFIX + "serializer.o";<a name="line.376"></a>
 <span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>   private static final ConcurrentHashMap&lt;Class,HttpPartSerializer&gt; partSerializerCache = new ConcurrentHashMap&lt;&gt;();<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   <a name="line.379"></a>
-<span class="sourceLineNo">380</span>   private final Map&lt;String,String&gt; headers, query;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   private final HttpClientBuilder httpClientBuilder;<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   private final CloseableHttpClient httpClient;<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   private final boolean keepHttpClientOpen, debug;<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   private final UrlEncodingSerializer urlEncodingSerializer;  // Used for form posts only.<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   private final HttpPartSerializer partSerializer;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   private final String rootUrl;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   private volatile boolean isClosed = false;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   private final StackTraceElement[] creationStack;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   private StackTraceElement[] closedStack;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>   // These are read directly by RestCall.<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   final Serializer serializer;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   final Parser parser;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   final RetryOn retryOn;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   final int retries;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   final long retryInterval;<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   final RestCallInterceptor[] interceptors;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>   // This is lazy-created.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   private volatile ExecutorService executorService;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   private final boolean executorServiceShutdownOnClose;<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>   /**<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    * Instantiates a new clean-slate {@link RestClientBuilder} object.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    * <a name="line.405"></a>
-<span class="sourceLineNo">406</span>    * @return A new {@link RestClientBuilder} object.<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    */<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   public static RestClientBuilder create() {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      return new RestClientBuilder(PropertyStore.DEFAULT, null);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   }<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   <a name="line.411"></a>
-<span class="sourceLineNo">412</span>   /**<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    * Instantiates a new {@link RestClientBuilder} object using the specified serializer and parser.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    * <a name="line.414"></a>
-<span class="sourceLineNo">415</span>    * &lt;p&gt;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    * Shortcut for calling &lt;code&gt;RestClient.&lt;jsm&gt;create&lt;/jsm&gt;().serializer(s).parser(p);&lt;/code&gt;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    * <a name="line.417"></a>
-<span class="sourceLineNo">418</span>    * @param s The serializer to use for output.<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    * @param p The parser to use for input.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    * @return A new {@link RestClientBuilder} object.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>   public static RestClientBuilder create(Serializer s, Parser p) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      return create().serializer(s).parser(p);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>   }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>   /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    * Instantiates a new {@link RestClientBuilder} object using the specified serializer and parser.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    * <a name="line.428"></a>
-<span class="sourceLineNo">429</span>    * &lt;p&gt;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    * Shortcut for calling &lt;code&gt;RestClient.&lt;jsm&gt;create&lt;/jsm&gt;().serializer(s).parser(p);&lt;/code&gt;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    * <a name="line.431"></a>
-<span class="sourceLineNo">432</span>    * @param s The serializer class to use for output.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    * @param p The parser class to use for input.<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    * @return A new {@link RestClientBuilder} object.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    */<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   public static RestClientBuilder create(Class&lt;? extends Serializer&gt; s, Class&lt;? extends Parser&gt; p) {<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      return create().serializer(s).parser(p);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   }  <a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>   @Override /* Context */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   public RestClientBuilder builder() {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      return new RestClientBuilder(getPropertyStore(), httpClientBuilder);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>   @SuppressWarnings("unchecked")<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   RestClient(<a name="line.446"></a>
-<span class="sourceLineNo">447</span>         PropertyStore ps,<a name="line.447"></a>
-<span class="sourceLineNo">448</span>         HttpClientBuilder httpClientBuilder,<a name="line.448"></a>
-<span class="sourceLineNo">449</span>         CloseableHttpClient httpClient) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>      super(ps);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      this.httpClientBuilder = httpClientBuilder;<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      this.httpClient = httpClient;<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      this.keepHttpClientOpen = getProperty(RESTCLIENT_keepHttpClientOpen, boolean.class, false);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.headers = getMapProperty(RESTCLIENT_headers, String.class);<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      this.query = getMapProperty(RESTCLIENT_query, String.class);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      this.retries = getProperty(RESTCLIENT_retries, int.class, 1);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      this.retryInterval = getProperty(RESTCLIENT_retryInterval, int.class, -1);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      this.retryOn = getInstanceProperty(RESTCLIENT_retryOn, RetryOn.class, RetryOn.DEFAULT);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      this.debug = getProperty(RESTCLIENT_debug, boolean.class, false);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>      this.executorServiceShutdownOnClose = getProperty(RESTCLIENT_executorServiceShutdownOnClose, boolean.class, false);<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      this.rootUrl = StringUtils.nullIfEmpty(getProperty(RESTCLIENT_rootUri, String.class, "").replaceAll("\\/$", ""));<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      <a name="line.462"></a>
-<span class="sourceLineNo">463</span>      Object o = getProperty(RESTCLIENT_serializer, Object.class, JsonSerializer.class);<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      if (o instanceof Serializer) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>         this.serializer = ((Serializer)o).builder().apply(ps).build();<a name="line.465"></a>
-<span class="sourceLineNo">466</span>      } else if (o instanceof Class) {<a name="line.466"></a>
-<span class="sourceLineNo">467</span>         this.serializer = ContextCache.INSTANCE.create((Class&lt;? extends Serializer&gt;)o, ps);<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      } else {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>         throw new ContextRuntimeException("Invalid object type found for property ''{0}'':  ''{1}''", RESTCLIENT_serializer, o.getClass());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      <a name="line.471"></a>
-<span class="sourceLineNo">472</span>      o = getProperty(RESTCLIENT_parser, Object.class, JsonParser.class);<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      if (o instanceof Parser) {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>         this.parser = ((Parser)o).builder().apply(ps).build();<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      } else if (o instanceof Class) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>         this.parser = ContextCache.INSTANCE.create((Class&lt;? extends Parser&gt;)o, ps);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      } else {<a name="line.477"></a>
-<span class="sourceLineNo">478</span>         throw new ContextRuntimeException("Invalid object type found for property ''{0}'':  ''{1}''", RESTCLIENT_parser, o.getClass());<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      }<a name="line.479"></a>
-<span class="sourceLineNo">480</span><a name="line.480"></a>
-<span class="sourceLineNo">481</span>      this.urlEncodingSerializer = new SerializerBuilder(ps).build(UrlEncodingSerializer.class);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      this.partSerializer = getInstanceProperty(RESTCLIENT_partSerializer, HttpPartSerializer.class, SimpleUonPartSerializer.class, true, ps);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      this.executorService = getInstanceProperty(RESTCLIENT_executorService, ExecutorService.class, null);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      <a name="line.484"></a>
-<span class="sourceLineNo">485</span>      RestCallInterceptor[] rci = getInstanceArrayProperty(RESTCLIENT_interceptors, RestCallInterceptor.class, new RestCallInterceptor[0]);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      if (debug)<a name="line.486"></a>
-<span class="sourceLineNo">487</span>         rci = ArrayUtils.append(rci, RestCallLogger.DEFAULT);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      this.interceptors = rci;<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>      if (Boolean.getBoolean("org.apache.juneau.rest.client.RestClient.trackLifecycle"))<a name="line.490"></a>
-<span class="sourceLineNo">491</span>         creationStack = Thread.currentThread().getStackTrace();<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      else<a name="line.492"></a>
-<span class="sourceLineNo">493</span>         creationStack = null;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   }<a name="line.494"></a>
-<span class="sourceLineNo">495</span><a name="line.495"></a>
-<span class="sourceLineNo">496</span>   /**<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    * Calls {@link CloseableHttpClient#close()} on the underlying {@link CloseableHttpClient}.<a name="line.497"></a>
-<span class="sourceLineNo">498</span>    * <a name="line.498"></a>
-<span class="sourceLineNo">499</span>    * &lt;p&gt;<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    * It's good practice to call this method after the client is no longer used.<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    * <a name="line.501"></a>
-<span class="sourceLineNo">502</span>    * @throws IOException<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    */<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   public void close() throws IOException {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      isClosed = true;<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      if (httpClient != null &amp;&amp; ! keepHttpClientOpen)<a name="line.506"></a>
-<span class="sourceLineNo">507</span>         httpClient.close();<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      if (executorService != null &amp;&amp; executorServiceShutdownOnClose)<a name="line.508"></a>
-<span class="sourceLineNo">509</span>         executorService.shutdown();<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      if (creationStack != null)<a name="line.510"></a>
-<span class="sourceLineNo">511</span>         closedStack = Thread.currentThread().getStackTrace();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   }<a name="line.512"></a>
-<span class="sourceLineNo">513</span><a name="line.513"></a>
-<span class="sourceLineNo">514</span>   /**<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    * Same as {@link #close()}, but ignores any exceptions.<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    */<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   public void closeQuietly() {<a name="line.517"></a>
-<span class="sourceLineNo">518</span>      isClosed = true;<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      try {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>         if (httpClient != null &amp;&amp; ! keepHttpClientOpen)<a name="line.520"></a>
-<span class="sourceLineNo">521</span>            httpClient.close();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>         if (executorService != null &amp;&amp; executorServiceShutdownOnClose)<a name="line.522"></a>
-<span class="sourceLineNo">523</span>            executorService.shutdown();<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      } catch (Throwable t) {}<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (creationStack != null)<a name="line.525"></a>
-<span class="sourceLineNo">526</span>         closedStack = Thread.currentThread().getStackTrace();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>   /**<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    * Execute the specified request.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    * <a name="line.531"></a>
-<span class="sourceLineNo">532</span>    * &lt;p&gt;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    * Subclasses can override this method to provide specialized handling.<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    * <a name="line.534"></a>
-<span class="sourceLineNo">535</span>    * @param req The HTTP request.<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    * @return The HTTP response.<a name="line.536"></a>
-<span class="sourceLineNo">537</span>    * @throws Exception<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    */<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   protected HttpResponse execute(HttpUriRequest req) throws Exception {<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      return httpClient.execute(req);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   }<a name="line.541"></a>
-<span class="sourceLineNo">542</span><a name="line.542"></a>
-<span class="sourceLineNo">543</span>   /**<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    * Perform a &lt;code&gt;GET&lt;/code&gt; request against the specified URL.<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    * <a name="line.545"></a>
-<span class="sourceLineNo">546</span>    * @param url<a name="line.546"></a>
-<span class="sourceLineNo">547</span>    *    The URL of the remote REST resource.<a name="line.547"></a>
-<span class="sourceLineNo">548</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    * @return<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    *    as a parsed object.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    */<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   public RestCall doGet(Object url) throws RestCallException {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>      return doCall("GET", url, false);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   }<a name="line.556"></a>
-<span class="sourceLineNo">557</span><a name="line.557"></a>
-<span class="sourceLineNo">558</span>   /**<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    * Perform a &lt;code&gt;PUT&lt;/code&gt; request against the specified URL.<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    * <a name="line.560"></a>
-<span class="sourceLineNo">561</span>    * @param url<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    *    The URL of the remote REST resource.<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.563"></a>
-<span class="sourceLineNo">564</span>    * @param o<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    *    The object to serialize and transmit to the URL as the body of the request.<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    *    Can be of the following types:<a name="line.566"></a>
-<span class="sourceLineNo">567</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    *       &lt;li&gt;<a name="line.568"></a>
-<span class="sourceLineNo">569</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.569"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>   private static final ConcurrentHashMap&lt;Class,HttpPartSerializer&gt; partSerializerCache = new ConcurrentHashMap&lt;&gt;();<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   <a name="line.380"></a>
+<span class="sourceLineNo">381</span>   private final Map&lt;String,String&gt; headers, query;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   private final HttpClientBuilder httpClientBuilder;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   private final CloseableHttpClient httpClient;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   private final boolean keepHttpClientOpen, debug;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   private final UrlEncodingSerializer urlEncodingSerializer;  // Used for form posts only.<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   private final HttpPartSerializer partSerializer;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>   private final String rootUrl;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   private volatile boolean isClosed = false;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   private final StackTraceElement[] creationStack;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   private StackTraceElement[] closedStack;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>   // These are read directly by RestCall.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   final Serializer serializer;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   final Parser parser;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   final RetryOn retryOn;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   final int retries;<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   final long retryInterval;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   final RestCallInterceptor[] interceptors;<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>   // This is lazy-created.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   private volatile ExecutorService executorService;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   private final boolean executorServiceShutdownOnClose;<a name="line.402"></a>
+<span class="sourceLineNo">403</span><a name="line.403"></a>
+<span class="sourceLineNo">404</span>   /**<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    * Instantiates a new clean-slate {@link RestClientBuilder} object.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    * <a name="line.406"></a>
+<span class="sourceLineNo">407</span>    * @return A new {@link RestClientBuilder} object.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    */<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   public static RestClientBuilder create() {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      return new RestClientBuilder(PropertyStore.DEFAULT, null);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   }<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   <a name="line.412"></a>
+<span class="sourceLineNo">413</span>   /**<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    * Instantiates a new {@link RestClientBuilder} object using the specified serializer and parser.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    * <a name="line.415"></a>
+<span class="sourceLineNo">416</span>    * &lt;p&gt;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    * Shortcut for calling &lt;code&gt;RestClient.&lt;jsm&gt;create&lt;/jsm&gt;().serializer(s).parser(p);&lt;/code&gt;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    * <a name="line.418"></a>
+<span class="sourceLineNo">419</span>    * @param s The serializer to use for output.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    * @param p The parser to use for input.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    * @return A new {@link RestClientBuilder} object.<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    */<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   public static RestClientBuilder create(Serializer s, Parser p) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>      return create().serializer(s).parser(p);<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   }<a name="line.425"></a>
+<span class="sourceLineNo">426</span><a name="line.426"></a>
+<span class="sourceLineNo">427</span>   /**<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    * Instantiates a new {@link RestClientBuilder} object using the specified serializer and parser.<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    * <a name="line.429"></a>
+<span class="sourceLineNo">430</span>    * &lt;p&gt;<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    * Shortcut for calling &lt;code&gt;RestClient.&lt;jsm&gt;create&lt;/jsm&gt;().serializer(s).parser(p);&lt;/code&gt;<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    * <a name="line.432"></a>
+<span class="sourceLineNo">433</span>    * @param s The serializer class to use for output.<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    * @param p The parser class to use for input.<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    * @return A new {@link RestClientBuilder} object.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    */<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   public static RestClientBuilder create(Class&lt;? extends Serializer&gt; s, Class&lt;? extends Parser&gt; p) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>      return create().serializer(s).parser(p);<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   }  <a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>   @Override /* Context */<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   public RestClientBuilder builder() {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      return new RestClientBuilder(getPropertyStore(), httpClientBuilder);<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   }<a name="line.444"></a>
+<span class="sourceLineNo">445</span><a name="line.445"></a>
+<span class="sourceLineNo">446</span>   @SuppressWarnings("unchecked")<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   RestClient(<a name="line.447"></a>
+<span class="sourceLineNo">448</span>         PropertyStore ps,<a name="line.448"></a>
+<span class="sourceLineNo">449</span>         HttpClientBuilder httpClientBuilder,<a name="line.449"></a>
+<span class="sourceLineNo">450</span>         CloseableHttpClient httpClient) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      super(ps);<a name="line.451"></a>
+<span class="sourceLineNo">452</span>      this.httpClientBuilder = httpClientBuilder;<a name="line.452"></a>
+<span class="sourceLineNo">453</span>      this.httpClient = httpClient;<a name="line.453"></a>
+<span class="sourceLineNo">454</span>      this.keepHttpClientOpen = getProperty(RESTCLIENT_keepHttpClientOpen, boolean.class, false);<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      this.headers = getMapProperty(RESTCLIENT_headers, String.class);<a name="line.455"></a>
+<span class="sourceLineNo">456</span>      this.query = getMapProperty(RESTCLIENT_query, String.class);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      this.retries = getProperty(RESTCLIENT_retries, int.class, 1);<a name="line.457"></a>
+<span class="sourceLineNo">458</span>      this.retryInterval = getProperty(RESTCLIENT_retryInterval, int.class, -1);<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      this.retryOn = getInstanceProperty(RESTCLIENT_retryOn, RetryOn.class, RetryOn.DEFAULT);<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      this.debug = getProperty(RESTCLIENT_debug, boolean.class, false);<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      this.executorServiceShutdownOnClose = getProperty(RESTCLIENT_executorServiceShutdownOnClose, boolean.class, false);<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      this.rootUrl = StringUtils.nullIfEmpty(getProperty(RESTCLIENT_rootUri, String.class, "").replaceAll("\\/$", ""));<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      <a name="line.463"></a>
+<span class="sourceLineNo">464</span>      Object o = getProperty(RESTCLIENT_serializer, Object.class, JsonSerializer.class);<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      if (o instanceof Serializer) {<a name="line.465"></a>
+<span class="sourceLineNo">466</span>         this.serializer = ((Serializer)o).builder().apply(ps).build();<a name="line.466"></a>
+<span class="sourceLineNo">467</span>      } else if (o instanceof Class) {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>         this.serializer = ContextCache.INSTANCE.create((Class&lt;? extends Serializer&gt;)o, ps);<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      } else {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>         throw new ContextRuntimeException("Invalid object type found for property ''{0}'':  ''{1}''", RESTCLIENT_serializer, o.getClass());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      <a name="line.472"></a>
+<span class="sourceLineNo">473</span>      o = getProperty(RESTCLIENT_parser, Object.class, JsonParser.class);<a name="line.473"></a>
+<span class="sourceLineNo">474</span>      if (o instanceof Parser) {<a name="line.474"></a>
+<span class="sourceLineNo">475</span>         this.parser = ((Parser)o).builder().apply(ps).build();<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      } else if (o instanceof Class) {<a name="line.476"></a>
+<span class="sourceLineNo">477</span>         this.parser = ContextCache.INSTANCE.create((Class&lt;? extends Parser&gt;)o, ps);<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      } else {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>         throw new ContextRuntimeException("Invalid object type found for property ''{0}'':  ''{1}''", RESTCLIENT_parser, o.getClass());<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      }<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>      this.urlEncodingSerializer = new SerializerBuilder(ps).build(UrlEncodingSerializer.class);<a name="line.482"></a>
+<span class="sourceLineNo">483</span>      this.partSerializer = getInstanceProperty(RESTCLIENT_partSerializer, HttpPartSerializer.class, SimpleUonPartSerializer.class, true, ps);<a name="line.483"></a>
+<span class="sourceLineNo">484</span>      this.executorService = getInstanceProperty(RESTCLIENT_executorService, ExecutorService.class, null);<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      <a name="line.485"></a>
+<span class="sourceLineNo">486</span>      RestCallInterceptor[] rci = getInstanceArrayProperty(RESTCLIENT_interceptors, RestCallInterceptor.class, new RestCallInterceptor[0]);<a name="line.486"></a>
+<span class="sourceLineNo">487</span>      if (debug)<a name="line.487"></a>
+<span class="sourceLineNo">488</span>         rci = ArrayUtils.append(rci, RestCallLogger.DEFAULT);<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      this.interceptors = rci;<a name="line.489"></a>
+<span class="sourceLineNo">490</span><a name="line.490"></a>
+<span class="sourceLineNo">491</span>      if (Boolean.getBoolean("org.apache.juneau.rest.client.RestClient.trackLifecycle"))<a name="line.491"></a>
+<span class="sourceLineNo">492</span>         creationStack = Thread.currentThread().getStackTrace();<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      else<a name="line.493"></a>
+<span class="sourceLineNo">494</span>         creationStack = null;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>   }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>   /**<a name="line.497"></a>
+<span class="sourceLineNo">498</span>    * Calls {@link CloseableHttpClient#close()} on the underlying {@link CloseableHttpClient}.<a name="line.498"></a>
+<span class="sourceLineNo">499</span>    * <a name="line.499"></a>
+<span class="sourceLineNo">500</span>    * &lt;p&gt;<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    * It's good practice to call this method after the client is no longer used.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>    * <a name="line.502"></a>
+<span class="sourceLineNo">503</span>    * @throws IOException<a name="line.503"></a>
+<span class="sourceLineNo">504</span>    */<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   public void close() throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      isClosed = true;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      if (httpClient != null &amp;&amp; ! keepHttpClientOpen)<a name="line.508"></a>
+<span class="sourceLineNo">509</span>         httpClient.close();<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      if (executorService != null &amp;&amp; executorServiceShutdownOnClose)<a name="line.510"></a>
+<span class="sourceLineNo">511</span>         executorService.shutdown();<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (creationStack != null)<a name="line.512"></a>
+<span class="sourceLineNo">513</span>         closedStack = Thread.currentThread().getStackTrace();<a name="line.513"></a>
+<span class="sourceLineNo">514</span>   }<a name="line.514"></a>
+<span class="sourceLineNo">515</span><a name="line.515"></a>
+<span class="sourceLineNo">516</span>   /**<a name="line.516"></a>
+<span class="sourceLineNo">517</span>    * Same as {@link #close()}, but ignores any exceptions.<a name="line.517"></a>
+<span class="sourceLineNo">518</span>    */<a name="line.518"></a>
+<span class="sourceLineNo">519</span>   public void closeQuietly() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      isClosed = true;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>      try {<a name="line.521"></a>
+<span class="sourceLineNo">522</span>         if (httpClient != null &amp;&amp; ! keepHttpClientOpen)<a name="line.522"></a>
+<span class="sourceLineNo">523</span>            httpClient.close();<a name="line.523"></a>
+<span class="sourceLineNo">524</span>         if (executorService != null &amp;&amp; executorServiceShutdownOnClose)<a name="line.524"></a>
+<span class="sourceLineNo">525</span>            executorService.shutdown();<a name="line.525"></a>
+<span class="sourceLineNo">526</span>      } catch (Throwable t) {}<a name="line.526"></a>
+<span class="sourceLineNo">527</span>      if (creationStack != null)<a name="line.527"></a>
+<span class="sourceLineNo">528</span>         closedStack = Thread.currentThread().getStackTrace();<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span>   /**<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    * Execute the specified request.<a name="line.532"></a>
+<span class="sourceLineNo">533</span>    * <a name="line.533"></a>
+<span class="sourceLineNo">534</span>    * &lt;p&gt;<a name="line.534"></a>
+<span class="sourceLineNo">535</span>    * Subclasses can override this method to provide specialized handling.<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    * <a name="line.536"></a>
+<span class="sourceLineNo">537</span>    * @param req The HTTP request.<a name="line.537"></a>
+<span class="sourceLineNo">538</span>    * @return The HTTP response.<a name="line.538"></a>
+<span class="sourceLineNo">539</span>    * @throws Exception<a name="line.539"></a>
+<span class="sourceLineNo">540</span>    */<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   protected HttpResponse execute(HttpUriRequest req) throws Exception {<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      return httpClient.execute(req);<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   }<a name="line.543"></a>
+<span class="sourceLineNo">544</span><a name="line.544"></a>
+<span class="sourceLineNo">545</span>   /**<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    * Perform a &lt;code&gt;GET&lt;/code&gt; request against the specified URL.<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    * <a name="line.547"></a>
+<span class="sourceLineNo">548</span>    * @param url<a name="line.548"></a>
+<span class="sourceLineNo">549</span>    *    The URL of the remote REST resource.<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    * @return<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    *    as a parsed object.<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.554"></a>
+<span class="sourceLineNo">555</span>    */<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   public RestCall doGet(Object url) throws RestCallException {<a name="line.556"></a>
+<span class="sourceLineNo">557</span>      return doCall("GET", url, false);<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   }<a name="line.558"></a>
+<span class="sourceLineNo">559</span><a name="line.559"></a>
+<span class="sourceLineNo">560</span>   /**<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    * Perform a &lt;code&gt;PUT&lt;/code&gt; request against the specified URL.<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    * <a name="line.562"></a>
+<span class="sourceLineNo">563</span>    * @param url<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    *    The URL of the remote REST resource.<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    * @param o<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    *    The object to serialize and transmit to the URL as the body of the request.<a name="line.567"></a>
+<span class="sourceLineNo">568</span>    *    Can be of the following types:<a name="line.568"></a>
+<span class="sourceLineNo">569</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.569"></a>
 <span class="sourceLineNo">570</span>    *       &lt;li&gt;<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.571"></a>
+<span class="sourceLineNo">571</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.571"></a>
 <span class="sourceLineNo">572</span>    *       &lt;li&gt;<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the<a name="line.573"></a>
-<span class="sourceLineNo">574</span>    *          {@link RestClient}.<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    *       &lt;li&gt;<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    *    &lt;/ul&gt;<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    * @return<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    *    A {@link RestCall} object that can be further tailored before executing the request<a name="line.579"></a>
-<span class="sourceLineNo">580</span>    *    and getting the response as a parsed object.<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    */<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   public RestCall doPut(Object url, Object o) throws RestCallException {<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      return doCall("PUT", url, true).input(o);<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   }<a name="line.585"></a>
-<span class="sourceLineNo">586</span><a name="line.586"></a>
-<span class="sourceLineNo">587</span>   /**<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    * Same as {@link #doPut(Object, Object)} but don't specify the input yet.<a name="line.588"></a>
-<span class="sourceLineNo">589</span>    * <a name="line.589"></a>
-<span class="sourceLineNo">590</span>    * &lt;p&gt;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    * You must call either {@link RestCall#input(Object)} or {@link RestCall#formData(String, Object)}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>    * to set the contents on the result object.<a name="line.592"></a>
-<span class="sourceLineNo">593</span>    * <a name="line.593"></a>
-<span class="sourceLineNo">594</span>    * @param url<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    *    The URL of the remote REST resource.<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    * @return<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    *    as a parsed object.<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    * @throws RestCallException<a name="line.600"></a>
-<span class="sourceLineNo">601</span>    */<a name="line.601"></a>
-<span class="sourceLineNo">602</span>   public RestCall doPut(Object url) throws RestCallException {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return doCall("PUT", url, true);<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>   /**<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    * Perform a &lt;code&gt;POST&lt;/code&gt; request against the specified URL.<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    * <a name="line.608"></a>
-<span class="sourceLineNo">609</span>    * @param url<a name="line.609"></a>
-<span class="sourceLineNo">610</span>    *    The URL of the remote REST resource.<a name="line.610"></a>
-<span class="sourceLineNo">611</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    * @param o<a name="line.612"></a>
-<span class="sourceLineNo">613</span>    *    The object to serialize and transmit to the URL as the body of the request.<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    *    Can be of the following types:<a name="line.614"></a>
-<span class="sourceLineNo">615</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    *       &lt;li&gt;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.617"></a>
+<span class="sourceLineNo">573</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    *       &lt;li&gt;<a name="line.574"></a>
+<span class="sourceLineNo">575</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    *          {@link RestClient}.<a name="line.576"></a>
+<span class="sourceLineNo">577</span>    *       &lt;li&gt;<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.578"></a>
+<span class="sourceLineNo">579</span>    *    &lt;/ul&gt;<a name="line.579"></a>
+<span class="sourceLineNo">580</span>    * @return<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    *    A {@link RestCall} object that can be further tailored before executing the request<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    *    and getting the response as a parsed object.<a name="line.582"></a>
+<span class="sourceLineNo">583</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.583"></a>
+<span class="sourceLineNo">584</span>    */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>   public RestCall doPut(Object url, Object o) throws RestCallException {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      return doCall("PUT", url, true).input(o);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>   }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>   /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>    * Same as {@link #doPut(Object, Object)} but don't specify the input yet.<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    * <a name="line.591"></a>
+<span class="sourceLineNo">592</span>    * &lt;p&gt;<a name="line.592"></a>
+<span class="sourceLineNo">593</span>    * You must call either {@link RestCall#input(Object)} or {@link RestCall#formData(String, Object)}<a name="line.593"></a>
+<span class="sourceLineNo">594</span>    * to set the contents on the result object.<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    * <a name="line.595"></a>
+<span class="sourceLineNo">596</span>    * @param url<a name="line.596"></a>
+<span class="sourceLineNo">597</span>    *    The URL of the remote REST resource.<a name="line.597"></a>
+<span class="sourceLineNo">598</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.598"></a>
+<span class="sourceLineNo">599</span>    * @return<a name="line.599"></a>
+<span class="sourceLineNo">600</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    *    as a parsed object.<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    * @throws RestCallException<a name="line.602"></a>
+<span class="sourceLineNo">603</span>    */<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   public RestCall doPut(Object url) throws RestCallException {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>      return doCall("PUT", url, true);<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   }<a name="line.606"></a>
+<span class="sourceLineNo">607</span><a name="line.607"></a>
+<span class="sourceLineNo">608</span>   /**<a name="line.608"></a>
+<span class="sourceLineNo">609</span>    * Perform a &lt;code&gt;POST&lt;/code&gt; request against the specified URL.<a name="line.609"></a>
+<span class="sourceLineNo">610</span>    * <a name="line.610"></a>
+<span class="sourceLineNo">611</span>    * @param url<a name="line.611"></a>
+<span class="sourceLineNo">612</span>    *    The URL of the remote REST resource.<a name="line.612"></a>
+<span class="sourceLineNo">613</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.613"></a>
+<span class="sourceLineNo">614</span>    * @param o<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    *    The object to serialize and transmit to the URL as the body of the request.<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    *    Can be of the following types:<a name="line.616"></a>
+<span class="sourceLineNo">617</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.617"></a>
 <span class="sourceLineNo">618</span>    *       &lt;li&gt;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.619"></a>
+<span class="sourceLineNo">619</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.619"></a>
 <span class="sourceLineNo">620</span>    *       &lt;li&gt;<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the {@link RestClient}.<a name="line.621"></a>
+<span class="sourceLineNo">621</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.621"></a>
 <span class="sourceLineNo">622</span>    *       &lt;li&gt;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    *    &lt;/ul&gt;<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    * @return<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    *    as a parsed object.<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    */<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   public RestCall doPost(Object url, Object o) throws RestCallException {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return doCall("POST", url, true).input(o);<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>   /**<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    * Same as {@link #doPost(Object, Object)} but don't specify the input yet.<a name="line.635"></a>
-<span class="sourceLineNo">636</span>    * <a name="line.636"></a>
-<span class="sourceLineNo">637</span>    * &lt;p&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    * You must call either {@link RestCall#input(Object)} or {@link RestCall#formData(String, Object)} to set the<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    * contents on the result object.<a name="line.639"></a>
-<span class="sourceLineNo">640</span>    * <a name="line.640"></a>
-<span class="sourceLineNo">641</span>    * @param url<a name="line.641"></a>
-<span class="sourceLineNo">642</span>    *    The URL of the remote REST resource.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>    * @return<a name="line.644"></a>
-<span class="sourceLineNo">645</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    *    as a parsed object.<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    * @throws RestCallException<a name="line.647"></a>
-<span class="sourceLineNo">648</span>    */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   public RestCall doPost(Object url) throws RestCallException {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      return doCall("POST", url, true);<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   }<a name="line.651"></a>
-<span class="sourceLineNo">652</span><a name="line.652"></a>
-<span class="sourceLineNo">653</span>   /**<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    * Perform a &lt;code&gt;DELETE&lt;/code&gt; request against the specified URL.<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    * <a name="line.655"></a>
-<span class="sourceLineNo">656</span>    * @param url<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    *    The URL of the remote REST resource.<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.658"></a>
-<span class="sourceLineNo">659</span>    * @return<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    *    as a parsed object.<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    */<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   public RestCall doDelete(Object url) throws RestCallException {<a name="line.664"></a>
-<span class="sourceLineNo">665</span>      return doCall("DELETE", url, false);<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   }<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span>   /**<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    * Perform an &lt;code&gt;OPTIONS&lt;/code&gt; request against the specified URL.<a name="line.669"></a>
-<span class="sourceLineNo">670</span>    * <a name="line.670"></a>
-<span class="sourceLineNo">671</span>    * @param url<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    *    The URL of the remote REST resource.<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    * @return<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    *    as a parsed object.<a name="line.676"></a>
-<span class="sourceLineNo">677</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.677"></a>
-<span class="sourceLineNo">678</span>    */<a name="line.678"></a>
-<span class="sourceLineNo">679</span>   public RestCall doOptions(Object url) throws RestCallException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      return doCall("OPTIONS", url, true);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>   }<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span>   /**<a name="line.683"></a>
-<span class="sourceLineNo">684</span>    * Perform a &lt;code&gt;POST&lt;/code&gt; request with a content type of &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt;<a name="line.684"></a>
-<span class="sourceLineNo">685</span>    * against the specified URL.<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    * <a name="line.686"></a>
-<span class="sourceLineNo">687</span>    * @param url<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    *    The URL of the remote REST resource.<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    * @param o<a name="line.690"></a>
-<span class="sourceLineNo">691</span>    *    The object to serialize and transmit to the URL as the body of the request, serialized as a form post<a name="line.691"></a>
-<span class="sourceLineNo">692</span>    *    using the {@link UrlEncodingSerializer#DEFAULT} serializer.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>    * @return<a name="line.693"></a>
-<span class="sourceLineNo">694</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.694"></a>
-<span class="sourceLineNo">695</span>    *    as a parsed object.<a name="line.695"></a>
-<span class="sourceLineNo">696</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    */<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   public RestCall doFormPost(Object url, Object o) throws RestCallException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      return doCall("POST", url, true)<a name="line.699"></a>
-<span class="sourceLineNo">700</span>         .input(o instanceof HttpEntity ? o : new RestRequestEntity(o, urlEncodingSerializer));<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   }<a name="line.701"></a>
-<span class="sourceLineNo">702</span><a name="line.702"></a>
-<span class="sourceLineNo">703</span>   /**<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    * Performs a REST call where the entire call is specified in a simple string.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    * <a name="line.705"></a>
-<span class="sourceLineNo">706</span>    * &lt;p&gt;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    * This method is useful for performing callbacks when the target of a callback is passed in<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    * on an initial request, for example to signal when a long-running process has completed.<a name="line.708"></a>
-<span class="sourceLineNo">709</span>    * <a name="line.709"></a>
-<span class="sourceLineNo">710</span>    * &lt;p&gt;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>    * The call string can be any of the following formats:<a name="line.711"></a>
-<span class="sourceLineNo">712</span>    * &lt;ul class='spaced-list'&gt;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>    *    &lt;li&gt;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>    *       &lt;js&gt;"[method] [url]"&lt;/js&gt; - e.g. &lt;js&gt;"GET http://localhost/callback"&lt;/js&gt;<a name="line.714"></a>
+<span class="sourceLineNo">623</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the {@link RestClient}.<a name="line.623"></a>
+<span class="sourceLineNo">624</span>    *       &lt;li&gt;<a name="line.624"></a>
+<span class="sourceLineNo">625</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.625"></a>
+<span class="sourceLineNo">626</span>    *    &lt;/ul&gt;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    * @return<a name="line.627"></a>
+<span class="sourceLineNo">628</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.628"></a>
+<span class="sourceLineNo">629</span>    *    as a parsed object.<a name="line.629"></a>
+<span class="sourceLineNo">630</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    */<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   public RestCall doPost(Object url, Object o) throws RestCallException {<a name="line.632"></a>
+<span class="sourceLineNo">633</span>      return doCall("POST", url, true).input(o);<a name="line.633"></a>
+<span class="sourceLineNo">634</span>   }<a name="line.634"></a>
+<span class="sourceLineNo">635</span><a name="line.635"></a>
+<span class="sourceLineNo">636</span>   /**<a name="line.636"></a>
+<span class="sourceLineNo">637</span>    * Same as {@link #doPost(Object, Object)} but don't specify the input yet.<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    * <a name="line.638"></a>
+<span class="sourceLineNo">639</span>    * &lt;p&gt;<a name="line.639"></a>
+<span class="sourceLineNo">640</span>    * You must call either {@link RestCall#input(Object)} or {@link RestCall#formData(String, Object)} to set the<a name="line.640"></a>
+<span class="sourceLineNo">641</span>    * contents on the result object.<a name="line.641"></a>
+<span class="sourceLineNo">642</span>    * <a name="line.642"></a>
+<span class="sourceLineNo">643</span>    * @param url<a name="line.643"></a>
+<span class="sourceLineNo">644</span>    *    The URL of the remote REST resource.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.645"></a>
+<span class="sourceLineNo">646</span>    * @return<a name="line.646"></a>
+<span class="sourceLineNo">647</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.647"></a>
+<span class="sourceLineNo">648</span>    *    as a parsed object.<a name="line.648"></a>
+<span class="sourceLineNo">649</span>    * @throws RestCallException<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    */<a name="line.650"></a>
+<span class="sourceLineNo">651</span>   public RestCall doPost(Object url) throws RestCallException {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>      return doCall("POST", url, true);<a name="line.652"></a>
+<span class="sourceLineNo">653</span>   }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>   /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>    * Perform a &lt;code&gt;DELETE&lt;/code&gt; request against the specified URL.<a name="line.656"></a>
+<span class="sourceLineNo">657</span>    * <a name="line.657"></a>
+<span class="sourceLineNo">658</span>    * @param url<a name="line.658"></a>
+<span class="sourceLineNo">659</span>    *    The URL of the remote REST resource.<a name="line.659"></a>
+<span class="sourceLineNo">660</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    * @return<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.662"></a>
+<span class="sourceLineNo">663</span>    *    as a parsed object.<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    */<a name="line.665"></a>
+<span class="sourceLineNo">666</span>   public RestCall doDelete(Object url) throws RestCallException {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      return doCall("DELETE", url, false);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>   }<a name="line.668"></a>
+<span class="sourceLineNo">669</span><a name="line.669"></a>
+<span class="sourceLineNo">670</span>   /**<a name="line.670"></a>
+<span class="sourceLineNo">671</span>    * Perform an &lt;code&gt;OPTIONS&lt;/code&gt; request against the specified URL.<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    * <a name="line.672"></a>
+<span class="sourceLineNo">673</span>    * @param url<a name="line.673"></a>
+<span class="sourceLineNo">674</span>    *    The URL of the remote REST resource.<a name="line.674"></a>
+<span class="sourceLineNo">675</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.675"></a>
+<span class="sourceLineNo">676</span>    * @return<a name="line.676"></a>
+<span class="sourceLineNo">677</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.677"></a>
+<span class="sourceLineNo">678</span>    *    as a parsed object.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.679"></a>
+<span class="sourceLineNo">680</span>    */<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   public RestCall doOptions(Object url) throws RestCallException {<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      return doCall("OPTIONS", url, true);<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>   /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>    * Perform a &lt;code&gt;POST&lt;/code&gt; request with a content type of &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt;<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    * against the specified URL.<a name="line.687"></a>
+<span class="sourceLineNo">688</span>    * <a name="line.688"></a>
+<span class="sourceLineNo">689</span>    * @param url<a name="line.689"></a>
+<span class="sourceLineNo">690</span>    *    The URL of the remote REST resource.<a name="line.690"></a>
+<span class="sourceLineNo">691</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.691"></a>
+<span class="sourceLineNo">692</span>    * @param o<a name="line.692"></a>
+<span class="sourceLineNo">693</span>    *    The object to serialize and transmit to the URL as the body of the request, serialized as a form post<a name="line.693"></a>
+<span class="sourceLineNo">694</span>    *    using the {@link UrlEncodingSerializer#DEFAULT} serializer.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>    * @return<a name="line.695"></a>
+<span class="sourceLineNo">696</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.696"></a>
+<span class="sourceLineNo">697</span>    *    as a parsed object.<a name="line.697"></a>
+<span class="sourceLineNo">698</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    */<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   public RestCall doFormPost(Object url, Object o) throws RestCallException {<a name="line.700"></a>
+<span class="sourceLineNo">701</span>      return doCall("POST", url, true)<a name="line.701"></a>
+<span class="sourceLineNo">702</span>         .input(o instanceof HttpEntity ? o : new RestRequestEntity(o, urlEncodingSerializer));<a name="line.702"></a>
+<span class="sourceLineNo">703</span>   }<a name="line.703"></a>
+<span class="sourceLineNo">704</span><a name="line.704"></a>
+<span class="sourceLineNo">705</span>   /**<a name="line.705"></a>
+<span class="sourceLineNo">706</span>    * Performs a REST call where the entire call is specified in a simple string.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    * <a name="line.707"></a>
+<span class="sourceLineNo">708</span>    * &lt;p&gt;<a name="line.708"></a>
+<span class="sourceLineNo">709</span>    * This method is useful for performing callbacks when the target of a callback is passed in<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    * on an initial request, for example to signal when a long-running process has completed.<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    * <a name="line.711"></a>
+<span class="sourceLineNo">712</span>    * &lt;p&gt;<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    * The call string can be any of the following formats:<a name="line.713"></a>
+<span class="sourceLineNo">714</span>    * &lt;ul class='spaced-list'&gt;<a name="line.714"></a>
 <span class="sourceLineNo">715</span>    *    &lt;li&gt;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>    *       &lt;js&gt;"[method] [url] [payload]"&lt;/js&gt; - e.g. &lt;js&gt;"POST http://localhost/callback some text payload"&lt;/js&gt;<a name="line.716"></a>
+<span class="sourceLineNo">716</span>    *       &lt;js&gt;"[method] [url]"&lt;/js&gt; - e.g. &lt;js&gt;"GET http://localhost/callback"&lt;/js&gt;<a name="line.716"></a>
 <span class="sourceLineNo">717</span>    *    &lt;li&gt;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>    *       &lt;js&gt;"[method] [headers] [url] [payload]"&lt;/js&gt; - e.g. &lt;js&gt;"POST {'Content-Type':'text/json'} http://localhost/callback {'some':'json'}"&lt;/js&gt;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>    * &lt;/ul&gt;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>    * &lt;p&gt;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    * The payload will always be sent using a simple {@link StringEntity}.<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    * <a name="line.722"></a>
-<span class="sourceLineNo">723</span>    * @param callString The call string.<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    * @return<a name="line.724"></a>
-<span class="sourceLineNo">725</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.725"></a>
-<span class="sourceLineNo">726</span>    *    as a parsed object.<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    * @throws RestCallException<a name="line.727"></a>
-<span class="sourceLineNo">728</span>    */<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   public RestCall doCallback(String callString) throws RestCallException {<a name="line.729"></a>
-<span class="sourceLineNo">730</span>      String s = callString;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      try {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>         RestCall rc = null;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>         String method = null, uri = null, content = null;<a name="line.733"></a>
-<span class="sourceLineNo">734</span>         ObjectMap h = null;<a name="line.734"></a>
-<span class="sourceLineNo">735</span>         int i = s.indexOf(' ');<a name="line.735"></a>
-<span class="sourceLineNo">736</span>         if (i != -1) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>            method = s.substring(0, i).trim();<a name="line.737"></a>
-<span class="sourceLineNo">738</span>            s = s.substring(i).trim();<a name="line.738"></a>
-<span class="sourceLineNo">739</span>            if (s.length() &gt; 0) {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>               if (s.charAt(0) == '{') {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>                  i = s.indexOf('}');<a name="line.741"></a>
-<span class="sourceLineNo">742</span>                  if (i != -1) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>                     String json = s.substring(0, i+1);<a name="line.743"></a>
-<span class="sourceLineNo">744</span>                     h = JsonParser.DEFAULT.parse(json, ObjectMap.class);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>                     s = s.substring(i+1).trim();<a name="line.745"></a>
-<span class="sourceLineNo">746</span>                  }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>               }<a name="line.747"></a>
-<span class="sourceLineNo">748</span>               if (s.length() &gt; 0) {<a name="line.748"></a>
-<span class="sourceLineNo">749</span>                  i = s.indexOf(' ');<a name="line.749"></a>
-<span class="sourceLineNo">750</span>                  if (i == -1)<a name="line.750"></a>
-<span class="sourceLineNo">751</span>                     uri = s;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>                  else {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>                     uri = s.substring(0, i).trim();<a name="line.753"></a>
-<span class="sourceLineNo">754</span>                     s = s.substring(i).trim();<a name="line.754"></a>
-<span class="sourceLineNo">755</span>                     if (s.length() &gt; 0)<a name="line.755"></a>
-<span class="sourceLineNo">756</span>                        content = s;<a name="line.756"></a>
-<span class="sourceLineNo">757</span>                  }<a name="line.757"></a>
-<span class="sourceLineNo">758</span>               }<a name="line.758"></a>
-<span class="sourceLineNo">759</span>            }<a name="line.759"></a>
-<span class="sourceLineNo">760</span>         }<a name="line.760"></a>
-<span class="sourceLineNo">761</span>         if (method != null &amp;&amp; uri != null) {<a name="line.761"></a>
-<span class="sourceLineNo">762</span>            rc = doCall(method, uri, content != null);<a name="line.762"></a>
-<span class="sourceLineNo">763</span>            if (content != null)<a name="line.763"></a>
-<span class="sourceLineNo">764</span>               rc.input(new StringEntity(content));<a name="line.764"></a>
-<span class="sourceLineNo">765</span>            if (h != null)<a name="line.765"></a>
-<span class="sourceLineNo">766</span>               for (Map.Entry&lt;String,Object&gt; e : h.entrySet())<a name="line.766"></a>
-<span class="sourceLineNo">767</span>                  rc.header(e.getKey(), e.getValue());<a name="line.767"></a>
-<span class="sourceLineNo">768</span>            return rc;<a name="line.768"></a>
-<span class="sourceLineNo">769</span>         }<a name="line.769"></a>
-<span class="sourceLineNo">770</span>      } catch (Exception e) {<a name="line.770"></a>
-<span class="sourceLineNo">771</span>         throw new RestCallException(e);<a name="line.771"></a>
-<span class="sourceLineNo">772</span>      }<a name="line.772"></a>
-<span class="sourceLineNo">773</span>      throw new RestCallException("Invalid format for call string.");<a name="line.773"></a>
-<span class="sourceLineNo">774</span>   }<a name="line.774"></a>
-<span class="sourceLineNo">775</span><a name="line.775"></a>
-<span class="sourceLineNo">776</span>   /**<a name="line.776"></a>
-<span class="sourceLineNo">777</span>    * Perform a generic REST call.<a name="line.777"></a>
-<span class="sourceLineNo">778</span>    * <a name="line.778"></a>
-<span class="sourceLineNo">779</span>    * @param method The HTTP method.<a name="line.779"></a>
-<span class="sourceLineNo">780</span>    * @param url<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    *    The URL of the remote REST resource.<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    * @param content<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    *    The HTTP body content.<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    *    Can be of the following types:<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.786"></a>
-<span class="sourceLineNo">787</span>    *       &lt;li&gt;<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.788"></a>
+<span class="sourceLineNo">718</span>    *       &lt;js&gt;"[method] [url] [payload]"&lt;/js&gt; - e.g. &lt;js&gt;"POST http://localhost/callback some text payload"&lt;/js&gt;<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    *    &lt;li&gt;<a name="line.719"></a>
+<span class="sourceLineNo">720</span>    *       &lt;js&gt;"[method] [headers] [url] [payload]"&lt;/js&gt; - e.g. &lt;js&gt;"POST {'Content-Type':'text/json'} http://localhost/callback {'some':'json'}"&lt;/js&gt;<a name="line.720"></a>
+<span class="sourceLineNo">721</span>    * &lt;/ul&gt;<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    * &lt;p&gt;<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    * The payload will always be sent using a simple {@link StringEntity}.<a name="line.723"></a>
+<span class="sourceLineNo">724</span>    * <a name="line.724"></a>
+<span class="sourceLineNo">725</span>    * @param callString The call string.<a name="line.725"></a>
+<span class="sourceLineNo">726</span>    * @return<a name="line.726"></a>
+<span class="sourceLineNo">727</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.727"></a>
+<span class="sourceLineNo">728</span>    *    as a parsed object.<a name="line.728"></a>
+<span class="sourceLineNo">729</span>    * @throws RestCallException<a name="line.729"></a>
+<span class="sourceLineNo">730</span>    */<a name="line.730"></a>
+<span class="sourceLineNo">731</span>   public RestCall doCallback(String callString) throws RestCallException {<a name="line.731"></a>
+<span class="sourceLineNo">732</span>      String s = callString;<a name="line.732"></a>
+<span class="sourceLineNo">733</span>      try {<a name="line.733"></a>
+<span class="sourceLineNo">734</span>         RestCall rc = null;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>         String method = null, uri = null, content = null;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>         ObjectMap h = null;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>         int i = s.indexOf(' ');<a name="line.737"></a>
+<span class="sourceLineNo">738</span>         if (i != -1) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>            method = s.substring(0, i).trim();<a name="line.739"></a>
+<span class="sourceLineNo">740</span>            s = s.substring(i).trim();<a name="line.740"></a>
+<span class="sourceLineNo">741</span>            if (s.length() &gt; 0) {<a name="line.741"></a>
+<span class="sourceLineNo">742</span>               if (s.charAt(0) == '{') {<a name="line.742"></a>
+<span class="sourceLineNo">743</span>                  i = s.indexOf('}');<a name="line.743"></a>
+<span class="sourceLineNo">744</span>                  if (i != -1) {<a name="line.744"></a>
+<span class="sourceLineNo">745</span>                     String json = s.substring(0, i+1);<a name="line.745"></a>
+<span class="sourceLineNo">746</span>                     h = JsonParser.DEFAULT.parse(json, ObjectMap.class);<a name="line.746"></a>
+<span class="sourceLineNo">747</span>                     s = s.substring(i+1).trim();<a name="line.747"></a>
+<span class="sourceLineNo">748</span>                  }<a name="line.748"></a>
+<span class="sourceLineNo">749</span>               }<a name="line.749"></a>
+<span class="sourceLineNo">750</span>               if (s.length() &gt; 0) {<a name="line.750"></a>
+<span class="sourceLineNo">751</span>                  i = s.indexOf(' ');<a name="line.751"></a>
+<span class="sourceLineNo">752</span>                  if (i == -1)<a name="line.752"></a>
+<span class="sourceLineNo">753</span>                     uri = s;<a name="line.753"></a>
+<span class="sourceLineNo">754</span>                  else {<a name="line.754"></a>
+<span class="sourceLineNo">755</span>                     uri = s.substring(0, i).trim();<a name="line.755"></a>
+<span class="sourceLineNo">756</span>                     s = s.substring(i).trim();<a name="line.756"></a>
+<span class="sourceLineNo">757</span>                     if (s.length() &gt; 0)<a name="line.757"></a>
+<span class="sourceLineNo">758</span>                        content = s;<a name="line.758"></a>
+<span class="sourceLineNo">759</span>                  }<a name="line.759"></a>
+<span class="sourceLineNo">760</span>               }<a name="line.760"></a>
+<span class="sourceLineNo">761</span>            }<a name="line.761"></a>
+<span class="sourceLineNo">762</span>         }<a name="line.762"></a>
+<span class="sourceLineNo">763</span>         if (method != null &amp;&amp; uri != null) {<a name="line.763"></a>
+<span class="sourceLineNo">764</span>            rc = doCall(method, uri, content != null);<a name="line.764"></a>
+<span class="sourceLineNo">765</span>            if (content != null)<a name="line.765"></a>
+<span class="sourceLineNo">766</span>               rc.input(new StringEntity(content));<a name="line.766"></a>
+<span class="sourceLineNo">767</span>            if (h != null)<a name="line.767"></a>
+<span class="sourceLineNo">768</span>               for (Map.Entry&lt;String,Object&gt; e : h.entrySet())<a name="line.768"></a>
+<span class="sourceLineNo">769</span>                  rc.header(e.getKey(), e.getValue());<a name="line.769"></a>
+<span class="sourceLineNo">770</span>            return rc;<a name="line.770"></a>
+<span class="sourceLineNo">771</span>         }<a name="line.771"></a>
+<span class="sourceLineNo">772</span>      } catch (Exception e) {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>         throw new RestCallException(e);<a name="line.773"></a>
+<span class="sourceLineNo">774</span>      }<a name="line.774"></a>
+<span class="sourceLineNo">775</span>      throw new RestCallException("Invalid format for call string.");<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   }<a name="line.776"></a>
+<span class="sourceLineNo">777</span><a name="line.777"></a>
+<span class="sourceLineNo">778</span>   /**<a name="line.778"></a>
+<span class="sourceLineNo">779</span>    * Perform a generic REST call.<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    * <a name="line.780"></a>
+<span class="sourceLineNo">781</span>    * @param method The HTTP method.<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    * @param url<a name="line.782"></a>
+<span class="sourceLineNo">783</span>    *    The URL of the remote REST resource.<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.784"></a>
+<span class="sourceLineNo">785</span>    * @param content<a name="line.785"></a>
+<span class="sourceLineNo">786</span>    *    The HTTP body content.<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    *    Can be of the following types:<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    *    &lt;ul class='spaced-list'&gt;<a name="line.788"></a>
 <span class="sourceLineNo">789</span>    *       &lt;li&gt;<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.790"></a>
+<span class="sourceLineNo">790</span>    *          {@link Reader} - Raw contents of {@code Reader} will be serialized to remote resource.<a name="line.790"></a>
 <span class="sourceLineNo">791</span>    *       &lt;li&gt;<a name="line.791"></a>
-<span class="sourceLineNo">792</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the<a name="line.792"></a>
-<span class="sourceLineNo">793</span>    *          {@link RestClient}.<a name="line.793"></a>
-<span class="sourceLineNo">794</span>    *       &lt;li&gt;<a name="line.794"></a>
-<span class="sourceLineNo">795</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.795"></a>
+<span class="sourceLineNo">792</span>    *          {@link InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.<a name="line.792"></a>
+<span class="sourceLineNo">793</span>    *       &lt;li&gt;<a name="line.793"></a>
+<span class="sourceLineNo">794</span>    *          {@link Object} - POJO to be converted to text using the {@link Serializer} registered with the<a name="line.794"></a>
+<span class="sourceLineNo">795</span>    *          {@link RestClient}.<a name="line.795"></a>
 <span class="sourceLineNo">796</span>    *       &lt;li&gt;<a name="line.796"></a>
-<span class="sourceLineNo">797</span>    *          {@link NameValuePairs} - Converted to a URL-encoded FORM post.<a name="line.797"></a>
-<span class="sourceLineNo">798</span>    *    &lt;/ul&gt;<a name="line.798"></a>
-<span class="sourceLineNo">799</span>    *    This parameter is IGNORED if {@link HttpMethod#hasContent()} is &lt;jk&gt;false&lt;/jk&gt;.<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    * @return<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    *    as a parsed object.<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    */<a name="line.804"></a>
-<span class="sourceLineNo">805</span>   public RestCall doCall(HttpMethod method, Object url, Object content) throws RestCallException {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>      RestCall rc = doCall(method.name(), url, method.hasContent());<a name="line.806"></a>
-<span class="sourceLineNo">807</span>      if (method.hasContent())<a name="line.807"></a>
-<span class="sourceLineNo">808</span>         rc.input(content);<a name="line.808"></a>
-<span class="sourceLineNo">809</span>      return rc;<a name="line.809"></a>
-<span class="sourceLineNo">810</span>   }<a name="line.810"></a>
-<span class="sourceLineNo">811</span><a name="line.811"></a>
-<span class="sourceLineNo">812</span>   /**<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    * Perform a generic REST call.<a name="line.813"></a>
-<span class="sourceLineNo">814</span>    * <a name="line.814"></a>
-<span class="sourceLineNo">815</span>    * @param method The method name (e.g. &lt;js&gt;"GET"&lt;/js&gt;, &lt;js&gt;"OPTIONS"&lt;/js&gt;).<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    * @param url<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    *    The URL of the remote REST resource.<a name="line.817"></a>
-<span class="sourceLineNo">818</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    * @param hasContent Boolean flag indicating if the specified request has content associated with it.<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    * @return<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    *    as a parsed object.<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.823"></a>
-<span class="sourceLineNo">824</span>    */<a name="line.824"></a>
-<span class="sourceLineNo">825</span>   public RestCall doCall(String method, Object url, boolean hasContent) throws RestCallException {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      if (isClosed) {<a name="line.826"></a>
-<span class="sourceLineNo">827</span>         Exception e2 = null;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>         if (closedStack != null) {<a name="line.828"></a>
-<span class="sourceLineNo">829</span>            e2 = new Exception("Creation stack:");<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            e2.setStackTrace(closedStack);<a name="line.830"></a>
-<span class="sourceLineNo">831</span>            throw new RestCallException("RestClient.close() has already been called.  This client cannot be reused.").initCause(e2);<a name="line.831"></a>
-<span class="sourceLineNo">832</span>         }<a name="line.832"></a>
-<span class="sourceLineNo">833</span>         throw new RestCallException("RestClient.close() has already been called.  This client cannot be reused.  Closed location stack trace can be displayed by setting the system property 'org.apache.juneau.rest.client.RestClient.trackCreation' to true.");<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      }<a name="line.834"></a>
-<span class="sourceLineNo">835</span><a name="line.835"></a>
-<span class="sourceLineNo">836</span>      HttpRequestBase req = null;<a name="line.836"></a>
-<span class="sourceLineNo">837</span>      RestCall restCall = null;<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      final String methodUC = method.toUpperCase(Locale.ENGLISH);<a name="line.838"></a>
-<span class="sourceLineNo">839</span>      try {<a name="line.839"></a>
-<span class="sourceLineNo">840</span>         if (hasContent) {<a name="line.840"></a>
-<span class="sourceLineNo">841</span>            req = new HttpEntityEnclosingRequestBase() {<a name="line.841"></a>
-<span class="sourceLineNo">842</span>               @Override /* HttpRequest */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>               public String getMethod() {<a name="line.843"></a>
-<span class="sourceLineNo">844</span>                  return methodUC;<a name="line.844"></a>
-<span class="sourceLineNo">845</span>               }<a name="line.845"></a>
-<span class="sourceLineNo">846</span>            };<a name="line.846"></a>
-<span class="sourceLineNo">847</span>            restCall = new RestCall(this, req, toURI(url));<a name="line.847"></a>
-<span class="sourceLineNo">848</span>         } else {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>            req = new HttpRequestBase() {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>               @Override /* HttpRequest */<a name="line.850"></a>
-<span class="sourceLineNo">851</span>               public String getMethod() {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>                  return methodUC;<a name="line.852"></a>
-<span class="sourceLineNo">853</span>               }<a name="line.853"></a>
-<span class="sourceLineNo">854</span>            };<a name="line.854"></a>
-<span class="sourceLineNo">855</span>            restCall = new RestCall(this, req, toURI(url));<a name="line.855"></a>
-<span class="sourceLineNo">856</span>         }<a name="line.856"></a>
-<span class="sourceLineNo">857</span>      } catch (URISyntaxException e1) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>         throw new RestCallException(e1);<a name="line.858"></a>
-<span class="sourceLineNo">859</span>      }<a name="line.859"></a>
-<span class="sourceLineNo">860</span>      <a name="line.860"></a>
-<span class="sourceLineNo">861</span>      for (Map.Entry&lt;String,String&gt; e : query.entrySet())<a name="line.861"></a>
-<span class="sourceLineNo">862</span>         restCall.query(e.getKey(), e.getValue());<a name="line.862"></a>
-<span class="sourceLineNo">863</span><a name="line.863"></a>
-<span class="sourceLineNo">864</span>      for (Map.Entry&lt;String,String&gt; e : headers.entrySet())<a name="line.864"></a>
-<span class="sourceLineNo">865</span>         restCall.header(e.getKey(), e.getValue());<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      <a name="line.866"></a>
-<span class="sourceLineNo">867</span>      if (parser != null &amp;&amp; ! req.containsHeader("Accept"))<a name="line.867"></a>
-<span class="sourceLineNo">868</span>         req.setHeader("Accept", parser.getPrimaryMediaType().toString());<a name="line.868"></a>
-<span class="sourceLineNo">869</span><a name="line.869"></a>
-<span class="sourceLineNo">870</span>      return restCall;<a name="line.870"></a>
-<span class="sourceLineNo">871</span>   }<a name="line.871"></a>
-<span class="sourceLineNo">872</span><a name="line.872"></a>
-<span class="sourceLineNo">873</span>   /**<a name="line.873"></a>
-<span class="sourceLineNo">874</span>    * Create a new proxy interface against a REST interface.<a name="line.874"></a>
-<span class="sourceLineNo">875</span>    * <a name="line.875"></a>
-<span class="sourceLineNo">876</span>    * &lt;p&gt;<a name="line.876"></a>
-<span class="sourceLineNo">877</span>    * The URL to the REST interface is based on the following values:<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    * &lt;ul&gt;<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    *    &lt;li&gt;The {@link Remoteable#path() @Remoteable.path()} annotation on the interface (&lt;code&gt;remoteable-path&lt;/code&gt;).<a name="line.879"></a>
-<span class="sourceLineNo">880</span>    *    &lt;li&gt;The {@link RestClientBuilder#rootUrl(Object) rootUrl} on the client (&lt;code&gt;root-url&lt;/code&gt;).<a name="line.880"></a>
-<span class="sourceLineNo">881</span>    *    &lt;li&gt;The fully-qualified class name of the interface (&lt;code&gt;class-name&lt;/code&gt;).<a name="line.881"></a>
-<span class="sourceLineNo">882</span>    * &lt;/ul&gt;<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    * <a name="line.883"></a>
-<span class="sourceLineNo">884</span>    * &lt;p&gt;<a name="line.884"></a>
-<span class="sourceLineNo">885</span>    * The URL calculation is as follows:<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    * &lt;ul&gt;<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    *    &lt;li&gt;&lt;code&gt;remoteable-path&lt;/code&gt; - If remoteable path is absolute.<a name="line.887"></a>
-<span class="sourceLineNo">888</span>    *    &lt;li&gt;&lt;code&gt;root-url/remoteable-path&lt;/code&gt; - If remoteable path is relative and root-url has been specified.<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    *    &lt;li&gt;&lt;code&gt;root-url/class-name&lt;/code&gt; - If remoteable path is not specified.<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    * &lt;/ul&gt;<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    * <a name="line.891"></a>
-<span class="sourceLineNo">892</span>    * &lt;p&gt;<a name="line.892"></a>
-<span class="sourceLineNo">893</span>    * If the information is not available to resolve to an absolute URL, a {@link RemoteableMetadataException} is thrown.<a name="line.893"></a>
-<span class="sourceLineNo">894</span>    * <a name="line.894"></a>
-<span class="sourceLineNo">895</span>    * &lt;p&gt;<a name="line.895"></a>
-<span class="sourceLineNo">896</span>    * Examples:<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    * &lt;p class='bcode'&gt;<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    *    &lt;jk&gt;package&lt;/jk&gt; org.apache.foo;<a name="line.898"></a>
-<span class="sourceLineNo">899</span>    * <a name="line.899"></a>
-<span class="sourceLineNo">900</span>    *    &lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"http://hostname/resturl/myinterface1"&lt;/js&gt;)<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface1 { ... }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    * <a name="line.902"></a>
-<span class="sourceLineNo">903</span>    *    &lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myinterface2"&lt;/js&gt;)<a name="line.903"></a>
-<span class="sourceLineNo">904</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface2 { ... }<a name="line.904"></a>
-<span class="sourceLineNo">905</span>    * <a name="line.905"></a>
-<span class="sourceLineNo">906</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface3 { ... }<a name="line.906"></a>
+<span class="sourceLineNo">797</span>    *          {@link HttpEntity} - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.<a name="line.797"></a>
+<span class="sourceLineNo">798</span>    *       &lt;li&gt;<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    *          {@link NameValuePairs} - Converted to a URL-encoded FORM post.<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    *    &lt;/ul&gt;<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    *    This parameter is IGNORED if {@link HttpMethod#hasContent()} is &lt;jk&gt;false&lt;/jk&gt;.<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    * @return<a name="line.802"></a>
+<span class="sourceLineNo">803</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    *    as a parsed object.<a name="line.804"></a>
+<span class="sourceLineNo">805</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    */<a name="line.806"></a>
+<span class="sourceLineNo">807</span>   public RestCall doCall(HttpMethod method, Object url, Object content) throws RestCallException {<a name="line.807"></a>
+<span class="sourceLineNo">808</span>      RestCall rc = doCall(method.name(), url, method.hasContent());<a name="line.808"></a>
+<span class="sourceLineNo">809</span>      if (method.hasContent())<a name="line.809"></a>
+<span class="sourceLineNo">810</span>         rc.input(content);<a name="line.810"></a>
+<span class="sourceLineNo">811</span>      return rc;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>   }<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span>   /**<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    * Perform a generic REST call.<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    * <a name="line.816"></a>
+<span class="sourceLineNo">817</span>    * @param method The method name (e.g. &lt;js&gt;"GET"&lt;/js&gt;, &lt;js&gt;"OPTIONS"&lt;/js&gt;).<a name="line.817"></a>
+<span class="sourceLineNo">818</span>    * @param url<a name="line.818"></a>
+<span class="sourceLineNo">819</span>    *    The URL of the remote REST resource.<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    *    Can be any of the following:  {@link String}, {@link URI}, {@link URL}.<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    * @param hasContent Boolean flag indicating if the specified request has content associated with it.<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    * @return<a name="line.822"></a>
+<span class="sourceLineNo">823</span>    *    A {@link RestCall} object that can be further tailored before executing the request and getting the response<a name="line.823"></a>
+<span class="sourceLineNo">824</span>    *    as a parsed object.<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    * @throws RestCallException If any authentication errors occurred.<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    */<a name="line.826"></a>
+<span class="sourceLineNo">827</span>   public RestCall doCall(String method, Object url, boolean hasContent) throws RestCallException {<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      if (isClosed) {<a name="line.828"></a>
+<span class="sourceLineNo">829</span>         Exception e2 = null;<a name="line.829"></a>
+<span class="sourceLineNo">830</span>         if (closedStack != null) {<a name="line.830"></a>
+<span class="sourceLineNo">831</span>            e2 = new Exception("Creation stack:");<a name="line.831"></a>
+<span class="sourceLineNo">832</span>            e2.setStackTrace(closedStack);<a name="line.832"></a>
+<span class="sourceLineNo">833</span>            throw new RestCallException("RestClient.close() has already been called.  This client cannot be reused.").initCause(e2);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>         }<a name="line.834"></a>
+<span class="sourceLineNo">835</span>         throw new RestCallException("RestClient.close() has already been called.  This client cannot be reused.  Closed location stack trace can be displayed by setting the system property 'org.apache.juneau.rest.client.RestClient.trackCreation' to true.");<a name="line.835"></a>
+<span class="sourceLineNo">836</span>      }<a name="line.836"></a>
+<span class="sourceLineNo">837</span><a name="line.837"></a>
+<span class="sourceLineNo">838</span>      HttpRequestBase req = null;<a name="line.838"></a>
+<span class="sourceLineNo">839</span>      RestCall restCall = null;<a name="line.839"></a>
+<span class="sourceLineNo">840</span>      final String methodUC = method.toUpperCase(Locale.ENGLISH);<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      try {<a name="line.841"></a>
+<span class="sourceLineNo">842</span>         if (hasContent) {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>            req = new HttpEntityEnclosingRequestBase() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span>               @Override /* HttpRequest */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>               public String getMethod() {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>                  return methodUC;<a name="line.846"></a>
+<span class="sourceLineNo">847</span>               }<a name="line.847"></a>
+<span class="sourceLineNo">848</span>            };<a name="line.848"></a>
+<span class="sourceLineNo">849</span>            restCall = new RestCall(this, req, toURI(url));<a name="line.849"></a>
+<span class="sourceLineNo">850</span>         } else {<a name="line.850"></a>
+<span class="sourceLineNo">851</span>            req = new HttpRequestBase() {<a name="line.851"></a>
+<span class="sourceLineNo">852</span>               @Override /* HttpRequest */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>               public String getMethod() {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>                  return methodUC;<a name="line.854"></a>
+<span class="sourceLineNo">855</span>               }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>            };<a name="line.856"></a>
+<span class="sourceLineNo">857</span>            restCall = new RestCall(this, req, toURI(url));<a name="line.857"></a>
+<span class="sourceLineNo">858</span>         }<a name="line.858"></a>
+<span class="sourceLineNo">859</span>      } catch (URISyntaxException e1) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>         throw new RestCallException(e1);<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      }<a name="line.861"></a>
+<span class="sourceLineNo">862</span>      <a name="line.862"></a>
+<span class="sourceLineNo">863</span>      for (Map.Entry&lt;String,String&gt; e : query.entrySet())<a name="line.863"></a>
+<span class="sourceLineNo">864</span>         restCall.query(e.getKey(), e.getValue());<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>      for (Map.Entry&lt;String,String&gt; e : headers.entrySet())<a name="line.866"></a>
+<span class="sourceLineNo">867</span>         restCall.header(e.getKey(), e.getValue());<a name="line.867"></a>
+<span class="sourceLineNo">868</span>      <a name="line.868"></a>
+<span class="sourceLineNo">869</span>      if (parser != null &amp;&amp; ! req.containsHeader("Accept"))<a name="line.869"></a>
+<span class="sourceLineNo">870</span>         req.setHeader("Accept", parser.getPrimaryMediaType().toString());<a name="line.870"></a>
+<span class="sourceLineNo">871</span><a name="line.871"></a>
+<span class="sourceLineNo">872</span>      return restCall;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>   }<a name="line.873"></a>
+<span class="sourceLineNo">874</span><a name="line.874"></a>
+<span class="sourceLineNo">875</span>   /**<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    * Create a new proxy interface against a REST interface.<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    * <a name="line.877"></a>
+<span class="sourceLineNo">878</span>    * &lt;p&gt;<a name="line.878"></a>
+<span class="sourceLineNo">879</span>    * The URL to the REST interface is based on the following values:<a name="line.879"></a>
+<span class="sourceLineNo">880</span>    * &lt;ul&gt;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>    *    &lt;li&gt;The {@link Remoteable#path() @Remoteable.path()} annotation on the interface (&lt;code&gt;remoteable-path&lt;/code&gt;).<a name="line.881"></a>
+<span class="sourceLineNo">882</span>    *    &lt;li&gt;The {@link RestClientBuilder#rootUrl(Object) rootUrl} on the client (&lt;code&gt;root-url&lt;/code&gt;).<a name="line.882"></a>
+<span class="sourceLineNo">883</span>    *    &lt;li&gt;The fully-qualified class name of the interface (&lt;code&gt;class-name&lt;/code&gt;).<a name="line.883"></a>
+<span class="sourceLineNo">884</span>    * &lt;/ul&gt;<a name="line.884"></a>
+<span class="sourceLineNo">885</span>    * <a name="line.885"></a>
+<span class="sourceLineNo">886</span>    * &lt;p&gt;<a name="line.886"></a>
+<span class="sourceLineNo">887</span>    * The URL calculation is as follows:<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    * &lt;ul&gt;<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    *    &lt;li&gt;&lt;code&gt;remoteable-path&lt;/code&gt; - If remoteable path is absolute.<a name="line.889"></a>
+<span class="sourceLineNo">890</span>    *    &lt;li&gt;&lt;code&gt;root-url/remoteable-path&lt;/code&gt; - If remoteable path is relative and root-url has been specified.<a name="line.890"></a>
+<span class="sourceLineNo">891</span>    *    &lt;li&gt;&lt;code&gt;root-url/class-name&lt;/code&gt; - If remoteable path is not specified.<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    * &lt;/ul&gt;<a name="line.892"></a>
+<span class="sourceLineNo">893</span>    * <a name="line.893"></a>
+<span class="sourceLineNo">894</span>    * &lt;p&gt;<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    * If the information is not available to resolve to an absolute URL, a {@link RemoteableMetadataException} is thrown.<a name="line.895"></a>
+<span class="sourceLineNo">896</span>    * <a name="line.896"></a>
+<span class="sourceLineNo">897</span>    * &lt;p&gt;<a name="line.897"></a>
+<span class="sourceLineNo">898</span>    * Examples:<a name="line.898"></a>
+<span class="sourceLineNo">899</span>    * &lt;p class='bcode'&gt;<a name="line.899"></a>
+<span class="sourceLineNo">900</span>    *    &lt;jk&gt;package&lt;/jk&gt; org.apache.foo;<a name="line.900"></a>
+<span class="sourceLineNo">901</span>    * <a name="line.901"></a>
+<span class="sourceLineNo">902</span>    *    &lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"http://hostname/resturl/myinterface1"&lt;/js&gt;)<a name="line.902"></a>
+<span class="sourceLineNo">903</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface1 { ... }<a name="line.903"></a>
+<span class="sourceLineNo">904</span>    * <a name="line.904"></a>
+<span class="sourceLineNo">905</span>    *    &lt;ja&gt;@Remoteable&lt;/ja&gt;(path=&lt;js&gt;"/myinterface2"&lt;/js&gt;)<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface2 { ... }<a name="line.906"></a>
 <span class="sourceLineNo">907</span>    * <a name="line.907"></a>
-<span class="sourceLineNo">908</span>    *    &lt;jc&gt;// Resolves to "http://localhost/resturl/myinterface1"&lt;/jc&gt;<a name="line.908"></a>
-<span class="sourceLineNo">909</span>    *    MyInterface1 i1 = RestClient<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    *       .build()<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    *       .getRemoteableProxy(MyInterface1.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    * <a name="line.913"></a>
-<span class="sourceLineNo">914</span>    *    &lt;jc&gt;// Resolves to "http://hostname/resturl/myinterface2"&lt;/jc&gt;<a name="line.914"></a>
-<span class="sourceLineNo">915</span>    *    MyInterface2 i2 = RestClient<a name="line.915"></a>
-<span class="sourceLineNo">916</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.916"></a>
-<span class="sourceLineNo">917</span>    *       .rootUrl(&lt;js&gt;"http://hostname/resturl"&lt;/js&gt;)<a name="line.917"></a>
-<span class="sourceLineNo">918</span>    *       .build()<a name="line.918"></a>
-<span class="sourceLineNo">919</span>    *       .getRemoteableProxy(MyInterface2.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.919"></a>
-<span class="sourceLineNo">920</span>    * <a name="line.920"></a>
-<span class="sourceLineNo">921</span>    *    &lt;jc&gt;// Resolves to "http://hostname/resturl/org.apache.foo.MyInterface3"&lt;/jc&gt;<a name="line.921"></a>
-<span class="sourceLineNo">922</span>    *    MyInterface3 i3 = RestClient<a name="line.922"></a>
-<span class="sourceLineNo">923</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.923"></a>
-<span class="sourceLineNo">924</span>    *       .rootUrl(&lt;js&gt;"http://hostname/resturl"&lt;/js&gt;)<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    *       .build()<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    *       .getRemoteableProxy(MyInterface3.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.926"></a>
-<span class="sourceLineNo">927</span>    * &lt;/p&gt;<a name="line.927"></a>
-<span class="sourceLineNo">928</span>    * <a name="line.928"></a>
-<span class="sourceLineNo">929</span>    * &lt;h5 class='section'&gt;Notes:&lt;/h5&gt;<a name="line.929"></a>
-<span class="sourceLineNo">930</span>    * &lt;ul class='spaced-list'&gt;<a name="line.930"></a>
-<span class="sourceLineNo">931</span>    *    &lt;li&gt;<a name="line.931"></a>
-<span class="sourceLineNo">932</span>    *       If you plan on using your proxy in a multi-threaded environment, you'll want to use an underlying<a name="line.932"></a>
-<span class="sourceLineNo">933</span>    *       pooling client connection manager.<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    *       The easiest way to do this is to use the {@link RestClientBuilder#pooled()} method.<a name="line.934"></a>
-<span class="sourceLineNo">935</span>    *       If you don't do this, you may end up seeing "Connection still allocated" exceptions.<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    * &lt;/ul&gt;<a name="line.936"></a>
-<span class="sourceLineNo">937</span>    * <a name="line.937"></a>
-<span class="sourceLineNo">938</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    * @return The new proxy interface.<a name="line.939"></a>
-<span class="sourceLineNo">940</span>    * @throws RemoteableMetadataException If the REST URI cannot be determined based on the information given.<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    */<a name="line.941"></a>
-<span class="sourceLineNo">942</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass) {<a name="line.942"></a>
-<span class="sourceLineNo">943</span>      return getRemoteableProxy(interfaceClass, null);<a name="line.943"></a>
-<span class="sourceLineNo">944</span>   }<a name="line.944"></a>
-<span class="sourceLineNo">945</span><a name="line.945"></a>
-<span class="sourceLineNo">946</span>   /**<a name="line.946"></a>
-<span class="sourceLineNo">947</span>    * Same as {@link #getRemoteableProxy(Class)} except explicitly specifies the URL of the REST interface.<a name="line.947"></a>
-<span class="sourceLineNo">948</span>    * <a name="line.948"></a>
-<span class="sourceLineNo">949</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.949"></a>
-<span class="sourceLineNo">950</span>    * @param restUrl The URL of the REST interface.<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    * @return The new proxy interface.<a name="line.951"></a>
-<span class="sourceLineNo">952</span>    */<a name="line.952"></a>
-<span class="sourceLineNo">953</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass, final Object restUrl) {<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      return getRemoteableProxy(interfaceClass, restUrl, serializer, parser);<a name="line.954"></a>
-<span class="sourceLineNo">955</span>   }<a name="line.955"></a>
-<span class="sourceLineNo">956</span><a name="line.956"></a>
-<span class="sourceLineNo">957</span>   /**<a name="line.957"></a>
-<span class="sourceLineNo">958</span>    * Same as {@link #getRemoteableProxy(Class, Object)} but allows you to override the serializer and parser used.<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    * <a name="line.959"></a>
-<span class="sourceLineNo">960</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    * @param restUrl The URL of the REST interface.<a name="line.961"></a>
-<span class="sourceLineNo">962</span>    * @param serializer The serializer used to serialize POJOs to the body of the HTTP request.<a name="line.962"></a>
-<span class="sourceLineNo">963</span>    * @param parser The parser used to parse POJOs from the body of the HTTP response.<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    * @return The new proxy interface.<a name="line.964"></a>
-<span class="sourceLineNo">965</span>    */<a name="line.965"></a>
-<span class="sourceLineNo">966</span>   @SuppressWarnings({ "unchecked" })<a name="line.966"></a>
-<span class="sourceLineNo">967</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass, Object restUrl, final Serializer serializer, final Parser parser) {<a name="line.967"></a>
-<span class="sourceLineNo">968</span><a name="line.968"></a>
-<span class="sourceLineNo">969</span>      if (restUrl == null) {<a name="line.969"></a>
-<span class="sourceLineNo">970</span>         Remoteable r = getAnnotation(Remoteable.class, interfaceClass);<a name="line.970"></a>
-<span class="sourceLineNo">971</span><a name="line.971"></a>
-<span class="sourceLineNo">972</span>         String path = r == null ? "" : trimSlashes(r.path());<a name="line.972"></a>
-<span class="sourceLineNo">973</span>         if (path.indexOf("://") == -1) {<a name="line.973"></a>
-<span class="sourceLineNo">974</span>            if (rootUrl == null)<a name="line.974"></a>
-<span class="sourceLineNo">975</span>               throw new RemoteableMetadataException(interfaceClass, "Root URI has not been specified.  Cannot construct absolute path to remoteable proxy.");<a name="line.975"></a>
-<span class="sourceLineNo">976</span>            path = trimSlashes(rootUrl) + '/' + path;<a name="line.976"></a>
-<span class="sourceLineNo">977</span>         }<a name="line.977"></a>
-<span class="sourceLineNo">978</span>         restUrl = path;<a name="line.978"></a>
-<span class="sourceLineNo">979</span>      }<a name="line.979"></a>
-<span class="sourceLineNo">980</span><a name="line.980"></a>
-<span class="sourceLineNo">981</span>      final String restUrl2 = restUrl.toString();<a name="line.981"></a>
+<span class="sourceLineNo">908</span>    *    &lt;jk&gt;public interface&lt;/jk&gt; MyInterface3 { ... }<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    * <a name="line.909"></a>
+<span class="sourceLineNo">910</span>    *    &lt;jc&gt;// Resolves to "http://localhost/resturl/myinterface1"&lt;/jc&gt;<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    *    MyInterface1 i1 = RestClient<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.912"></a>
+<span class="sourceLineNo">913</span>    *       .build()<a name="line.913"></a>
+<span class="sourceLineNo">914</span>    *       .getRemoteableProxy(MyInterface1.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.914"></a>
+<span class="sourceLineNo">915</span>    * <a name="line.915"></a>
+<span class="sourceLineNo">916</span>    *    &lt;jc&gt;// Resolves to "http://hostname/resturl/myinterface2"&lt;/jc&gt;<a name="line.916"></a>
+<span class="sourceLineNo">917</span>    *    MyInterface2 i2 = RestClient<a name="line.917"></a>
+<span class="sourceLineNo">918</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.918"></a>
+<span class="sourceLineNo">919</span>    *       .rootUrl(&lt;js&gt;"http://hostname/resturl"&lt;/js&gt;)<a name="line.919"></a>
+<span class="sourceLineNo">920</span>    *       .build()<a name="line.920"></a>
+<span class="sourceLineNo">921</span>    *       .getRemoteableProxy(MyInterface2.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.921"></a>
+<span class="sourceLineNo">922</span>    * <a name="line.922"></a>
+<span class="sourceLineNo">923</span>    *    &lt;jc&gt;// Resolves to "http://hostname/resturl/org.apache.foo.MyInterface3"&lt;/jc&gt;<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    *    MyInterface3 i3 = RestClient<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    *       .&lt;jsm&gt;create&lt;/jsm&gt;()<a name="line.925"></a>
+<span class="sourceLineNo">926</span>    *       .rootUrl(&lt;js&gt;"http://hostname/resturl"&lt;/js&gt;)<a name="line.926"></a>
+<span class="sourceLineNo">927</span>    *       .build()<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    *       .getRemoteableProxy(MyInterface3.&lt;jk&gt;class&lt;/jk&gt;);<a name="line.928"></a>
+<span class="sourceLineNo">929</span>    * &lt;/p&gt;<a name="line.929"></a>
+<span class="sourceLineNo">930</span>    * <a name="line.930"></a>
+<span class="sourceLineNo">931</span>    * &lt;h5 class='section'&gt;Notes:&lt;/h5&gt;<a name="line.931"></a>
+<span class="sourceLineNo">932</span>    * &lt;ul class='spaced-list'&gt;<a name="line.932"></a>
+<span class="sourceLineNo">933</span>    *    &lt;li&gt;<a name="line.933"></a>
+<span class="sourceLineNo">934</span>    *       If you plan on using your proxy in a multi-threaded environment, you'll want to use an underlying<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    *       pooling client connection manager.<a name="line.935"></a>
+<span class="sourceLineNo">936</span>    *       The easiest way to do this is to use the {@link RestClientBuilder#pooled()} method.<a name="line.936"></a>
+<span class="sourceLineNo">937</span>    *       If you don't do this, you may end up seeing "Connection still allocated" exceptions.<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    * &lt;/ul&gt;<a name="line.938"></a>
+<span class="sourceLineNo">939</span>    * <a name="line.939"></a>
+<span class="sourceLineNo">940</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    * @return The new proxy interface.<a name="line.941"></a>
+<span class="sourceLineNo">942</span>    * @throws RemoteableMetadataException If the REST URI cannot be determined based on the information given.<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    */<a name="line.943"></a>
+<span class="sourceLineNo">944</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass) {<a name="line.944"></a>
+<span class="sourceLineNo">945</span>      return getRemoteableProxy(interfaceClass, null);<a name="line.945"></a>
+<span class="sourceLineNo">946</span>   }<a name="line.946"></a>
+<span class="sourceLineNo">947</span><a name="line.947"></a>
+<span class="sourceLineNo">948</span>   /**<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    * Same as {@link #getRemoteableProxy(Class)} except explicitly specifies the URL of the REST interface.<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    * <a name="line.950"></a>
+<span class="sourceLineNo">951</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.951"></a>
+<span class="sourceLineNo">952</span>    * @param restUrl The URL of the REST interface.<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    * @return The new proxy interface.<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    */<a name="line.954"></a>
+<span class="sourceLineNo">955</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass, final Object restUrl) {<a name="line.955"></a>
+<span class="sourceLineNo">956</span>      return getRemoteableProxy(interfaceClass, restUrl, serializer, parser);<a name="line.956"></a>
+<span class="sourceLineNo">957</span>   }<a name="line.957"></a>
+<span class="sourceLineNo">958</span><a name="line.958"></a>
+<span class="sourceLineNo">959</span>   /**<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    * Same as {@link #getRemoteableProxy(Class, Object)} but allows you to override the serializer and parser used.<a name="line.960"></a>
+<span class="sourceLineNo">961</span>    * <a name="line.961"></a>
+<span class="sourceLineNo">962</span>    * @param interfaceClass The interface to create a proxy for.<a name="line.962"></a>
+<span class="sourceLineNo">963</span>    * @param restUrl The URL of the REST interface.<a name="line.963"></a>
+<span class="sourceLineNo">964</span>    * @param serializer The serializer used to serialize POJOs to the body of the HTTP request.<a name="line.964"></a>
+<span class="sourceLineNo">965</span>    * @param parser The parser used to parse POJOs from the body of the HTTP response.<a name="line.965"></a>
+<span class="sourceLineNo">966</span>    * @return The new proxy interface.<a name="line.966"></a>
+<span class="sourceLineNo">967</span>    */<a name="line.967"></a>
+<span class="sourceLineNo">968</span>   @SuppressWarnings({ "unchecked" })<a name="line.968"></a>
+<span class="sourceLineNo">969</span>   public &lt;T&gt; T getRemoteableProxy(final Class&lt;T&gt; interfaceClass, Object restUrl, final Serializer serializer, final Parser parser) {<a name="line.969"></a>
+<span class="sourceLineNo">970</span><a name="line.970"></a>
+<span class="sourceLineNo">971</span>      if (restUrl == null) {<a name="line.971"></a>
+<span class="sourceLineNo">972</span>         Remoteable r = getAnnotation(Remoteable.class, interfaceClass);<a name="line.972"></a>
+<span class="sourceLineNo">973</span><a name="line.973"></a>
+<span class="sourceLineNo">974</span>         String path = r == null ? "" : trimSlashes(r.path());<a name="line.974"></a>
+<span class="sourceLineNo">975</span>         if (path.indexOf("://") == -1) {<a name="line.975"></a>
+<span class="sourceLineNo">976</span>            if (rootUrl == null)<a name="line.976"></a>
+<span class="sourceLineNo">977</span>               throw new RemoteableMetadataException(interfaceClass, "Root URI has not been specified.  Cannot construct absolute path to remoteable proxy.");<a name="line.977"></a>
+<span class="sourceLineNo">978</span>            path = trimSlashes(rootUrl) + '/' + path;<a name="line.978"></a>
+<span class="sourceLineNo">979</span>         }<a name="line.979"></a>
+<span class="sourceLineNo">980</span>         restUrl = path;<a name="line.980"></a>
+<span class="sourceLineNo">981</span>      }<a name="line.981"></a>
 <span class="sourceLineNo">982</span><a name="line.982"></a>
-<span class="sourceLineNo">983</span>      try {<a name="line.983"></a>
-<span class="sourceLineNo">984</span>         return (T)Proxy.newProxyInstance(<a name="line.984"></a>
-<span class="sourceLineNo">985</span>            interfaceClass.getClassLoader(),<a name="line.985"></a>
-<span class="sourceLineNo">986</span>            new Class[] { interfaceClass },<a name="line.986"></a>
-<span class="sourceLineNo">987</span>            new InvocationHandler() {<a name="line.987"></a>
-<span class="sourceLineNo">988</span><a name="line.988"></a>
-<span class="sourceLineNo">989</span>               final RemoteableMeta rm = new RemoteableMeta(interfaceClass, restUrl2);<a name="line.989"></a>
+<span class="sourceLineNo">983</span>      final String restUrl2 = restUrl.toString();<a name="line.983"></a>
+<span class="sourceLineNo">984</span><a name="line.984"></a>
+<span class="sourceLineNo">985</span>      try {<a name="line.985"></a>
+<span class="sourceLineNo">986</span>         return (T)Proxy.newProxyInstance(<a name="line.986"></a>
+<span class="sourceLineNo">987</span>            interfaceClass.getClassLoader(),<a name="line.987"></a>
+<span class="sourceLineNo">988</span>            new Class[] { interfaceClass },<a name="line.988"></a>
+<span class="sourceLineNo">989</span>            new InvocationHandler() {<a name="line.989"></a>
 <span class="sourceLineNo">990</span><a name="line.990"></a>
-<span class="sourceLineNo">991</span>               @Override /* InvocationHandler */<a name="line.991"></a>
-<span class="sourceLineNo">992</span>               public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {<a name="line.992"></a>
-<span class="sourceLineNo">993</span>                  RemoteableMethodMeta rmm = rm.getMethodMeta(method);<a name="line.993"></a>
-<span class="sourceLineNo">994</span><a name="line.994"></a>
-<span class="sourceLineNo">995</span>                  if (rmm == null)<a name="line.995"></a>
-<span class="sourceLineNo">996</span>                     throw new RuntimeException("Method is not exposed as a remoteable method.");<a name="line.996"></a>
-<span class="sourceLineNo">997</span><a name="line.997"></a>
-<span class="sourceLineNo">998</span>                  try {<a name="line.998"></a>
-<span class="sourceLineNo">999</span>                     String url = rmm.getUrl();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>                     String httpMethod = rmm.getHttpMethod();<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>                     RestCall rc;<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>                     // this could be a switch at language level 7<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>                     if (httpMethod.equals("DELETE")) {<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>                        rc = doDelete(url);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>                     } else if (httpMethod.equals("POST")) {<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>                        rc = doPost(url);<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>                     } else if (httpMethod.equals("GET")) {<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>                        rc = doGet(url);<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>                     } else if (httpMethod.equals("PUT")) {<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>                        rc = doPut(url);<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>                     } else throw new RuntimeException("Unsupported method.");<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span><a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>                     rc.serializer(serializer).parser(parser);<a name="line.1013"></a>
+<span class="sourceLineNo">991</span>               final RemoteableMeta rm = new RemoteableMeta(interfaceClass, restUrl2);<a name="line.991"></a>
+<span class="sourceLineNo">992</span><a name="line.992"></a>
+<span class="sourceLineNo">993</span>               @Override /* InvocationHandler */<a name="line.993"></a>
+<span class="sourceLineNo">994</span>               public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {<a name="line.994"></a>
+<span class="sourceLineNo">995</span>                  RemoteableMethodMeta rmm = rm.getMethodMeta(method);<a name="line.995"></a>
+<span class="sourceLineNo">996</span><a name="line.996"></a>
+<span class="sourceLineNo">997</span>                  if (rmm == null)<a name="line.997"></a>
+<span class="sourceLineNo">998</span>                     throw new RuntimeException("Method is not exposed as a remoteable method.");<a name="line.998"></a>
+<span class="sourceLineNo">999</span><a name="line.999"></a>
+<span class="sourceLineNo">1000</span>                  String url = rmm.getUrl();<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>                  String httpMethod = rmm.getHttpMethod();<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>                  try (RestCall rc = doCall(httpMethod, url, httpMethod.equals("POST"))) {<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span><a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>                     rc.serializer(serializer).parser(parser);<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span><a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>                     for (RemoteMethodArg a : rmm.getPathArgs())<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>                        rc.path(a.name, args[a.index], a.serializer);<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span><a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>                     for (RemoteMethodArg a : rmm.getQueryArgs())<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>                        rc.query(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span><a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>                     for (RemoteMethodArg a : rmm.getFormDataArgs())<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>                        rc.formData(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1013"></a>
 <span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>                     for (RemoteMethodArg a : rmm.getPathArgs())<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>                        rc.path(a.name, args[a.index], a.serializer);<a name="line.1016"></a>
+<span class="sourceLineNo">1015</span>                     for (RemoteMethodArg a : rmm.getHeaderArgs())<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>                        rc.header(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1016"></a>
 <span class="sourceLineNo">1017</span><a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>                     for (RemoteMethodArg a : rmm.getQueryArgs())<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>                        rc.query(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1019"></a>
+<span class="sourceLineNo">1018</span>                     if (rmm.getBodyArg() != null)<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>                        rc.input(args[rmm.getBodyArg()]);<a name="line.1019"></a>
 <span class="sourceLineNo">1020</span><a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>                     for (RemoteMethodArg a : rmm.getFormDataArgs())<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>                        rc.formData(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span><a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>                     for (RemoteMethodArg a : rmm.getHeaderArgs())<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>                        rc.header(a.name, args[a.index], a.skipIfNE, a.serializer);<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span><a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>                     if (rmm.getBodyArg() != null)<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>                        rc.input(args[rmm.getBodyArg()]);<a name="line.1028"></a>
+<span class="sourceLineNo">1021</span>                     if (rmm.getRequestBeanArgs().length &gt; 0) {<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>                        BeanSession bs = createBeanSession();<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>                        for (RemoteMethodArg rma : rmm.getRequestBeanArgs()) {<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>                           BeanMap&lt;?&gt; bm = bs.toBeanMap(args[rma.index]); <a name="line.1024"></a>
+<span class="sourceLineNo">1025</span><a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>                           for (BeanPropertyValue bpv : bm.getValues(false)) {<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>                              BeanPropertyMeta pMeta = bpv.getMeta();<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>                              Object val = bpv.getValue();<a name="line.1028"></a>
 <span class="sourceLineNo">1029</span><a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>                     if (rmm.getRequestBeanArgs().length &gt; 0) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>                        BeanSession bs = createBeanSession();<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>                        for (RemoteMethodArg rma : rmm.getRequestBeanArgs()) {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>                           BeanMap&lt;?&gt; bm = bs.toBeanMap(args[rma.index]); <a name="line.1033"></a>
-<span class="sourceLineNo">1034</span><a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>                           for (BeanPropertyValue bpv : bm.getValues(false)) {<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>                              BeanPropertyMeta pMeta = bpv.getMeta();<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>                              Object val = bpv.getValue();<a name="line.1037"></a>
+<span class="sourceLineNo">1030</span>                              Path p = pMeta.getAnnotation(Path.class);<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>                              if (p != null)<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>                                 rc.path(getName(p.name(), p.value(), pMeta), val, getPartSerializer(p.serializer(), rma.serializer));<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span><a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>                              if (val != null) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>                                 Query q1 = pMeta.getAnnotation(Query.class);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>                                 if (q1 != null)<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>                                    rc.query(getName(q1.name(), q1.value(), pMeta), val, q1.skipIfEmpty(), getPartSerializer(q1.serializer(), rma.serializer));<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span><a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>                              Path p = pMeta.getAnnotation(Path.class);<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>                              if (p != null)<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>                                 rc.path(getName(p.name(), p.value(), pMeta), val, getPartSerializer(p.serializer(), rma.serializer));<a name="line.1041"></a>
+<span class="sourceLineNo">1039</span>                                 QueryIfNE q2 = pMeta.getAnnotation(QueryIfNE.class);<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>                                 if (q2 != null)<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>                                    rc.query(getName(q2.name(), q2.value(), pMeta), val, true, getPartSerializer(q2.serializer(), rma.serializer));<a name="line.1041"></a>
 <span class="sourceLineNo">1042</span><a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>                              if (val != null) {<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>                                 Query q1 = pMeta.getAnnotation(Query.class);<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>                                 if (q1 != null)<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>                                    rc.query(getName(q1.name(), q1.value(), pMeta), val, q1.skipIfEmpty(), getPartSerializer(q1.serializer(), rma.serializer));<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>                                 QueryIfNE q2 = pMeta.getAnnotation(QueryIfNE.class);<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>                                 if (q2 != null)<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>                                    rc.query(getName(q2.name(), q2.value(), pMeta), val, true, getPartSerializer(q2.serializer(), rma.serializer));<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span><a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>                                 FormData f1 = pMeta.getAnnotation(FormData.class);<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>                                 if (f1 != null)<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>                                    rc.formData(getName(f1.name(), f1.value(), pMeta), val, f1.skipIfEmpty(), getPartSerializer(f1.serializer(), rma.serializer));<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span><a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>                                 FormDataIfNE f2 = pMeta.getAnnotation(FormDataIfNE.class);<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>                                 if (f2 != null)<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>                                    rc.formData(getName(f2.name(), f2.value(), pMeta), val, true, getPartSerializer(f2.serializer(), rma.serializer));<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span><a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>                                 org.apache.juneau.remoteable.Header h1 = pMeta.getAnnotation(org.apache.juneau.remoteable.Header.class);<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>                                 if (h1 != null)<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>                                    rc.header(getName(h1.name(), h1.value(), pMeta), val, h1.skipIfEmpty(), getPartSerializer(h1.serializer(), rma.serializer));<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span><a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>                                 HeaderIfNE h2 = pMeta.getAnnotation(HeaderIfNE.class);<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>                                 if (h2 != null)<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>                                    rc.header(getName(h2.name(), h2.value(), pMeta), val, true, getPartSerializer(h2.serializer(), rma.serializer));<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>                              }<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>                           }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>                        }<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>                     }<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span><a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>                     if (rmm.getOtherArgs().length &gt; 0) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>                        Object[] otherArgs = new Object[rmm.getOtherArgs().length];<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>                        int i = 0;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>                        for (Integer otherArg : rmm.getOtherArgs())<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>                           otherArgs[i++] = args[otherArg];<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>                        rc.input(otherArgs);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>                     }<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span><a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>                     if (rmm.getReturns() == ReturnValue.HTTP_STATUS) {<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>                        rc.ignoreErrors();<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>                        int returnCode = rc.run();<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>                        Class&lt;?&gt; rt = method.getReturnType();<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>                        if (rt == Integer.class || rt == int.class)<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>                           return returnCode;<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>                        if (rt == Boolean.class || rt == boolean.class)<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>                           return returnCode &lt; 400;<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>                        throw new RestCallException("Invalid return type on method annotated with @RemoteableMethod(returns=HTTP_STATUS).  Only integer and booleans types are valid.");<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>                     }<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span><a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>                     Object v = rc.getResponse(method.getGenericReturnType());<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>                     if (v == null &amp;&amp; method.getReturnType().isPrimitive())<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>                        v = ClassUtils.getPrimitiveDefault(method.getReturnType());<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>                     return v;<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span><a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>                  } catch (RestCallException e) {<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>                     // Try to throw original exception if possible.<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>                     e.throwServerException(interfaceClass.getClassLoader());<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>                     throw new RuntimeException(e);<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>                  } catch (Exception e) {<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>                     throw new RuntimeException(e);<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>                  }<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>               }<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>         });<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>      } catch (Exception e) {<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>         throw new RuntimeException(e);<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      }<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>   }<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span><a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>   static final String getName(String name1, String name2, BeanPropertyMeta pMeta) {<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>      String n = name1.isEmpty() ? name2 : name1;<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>      ClassMeta&lt;?&gt; cm = pMeta.getClassMeta();<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>      if (n.isEmpty() &amp;&amp; (cm.isMapOrBean() || cm.isReader() || cm.isInstanceOf(NameValuePairs.class)))<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>         n = "*";<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>      if (n.isEmpty())<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>         n = pMeta.getName();<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>      return n;<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   }<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span><a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   final HttpPartSerializer getPartSerializer(Class c, HttpPartSerializer c2) {<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>      if (c2 != null)<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>         return c2;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>      if (c == HttpPartSerializer.Null.class)<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>         return null;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>      HttpPartSerializer pf = partSerializerCache.get(c);<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>      if (pf == null) {<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>         partSerializerCache.putIfAbsent(c, newInstance(HttpPartSerializer.class, c, true, getPropertyStore()));<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>         pf = partSerializerCache.get(c);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>      }<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>      return pf;<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>   }<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span><a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   private Pattern absUrlPattern = Pattern.compile("^\\w+\\:\\/\\/.*");<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span><a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   HttpPartSerializer getPartSerializer() {<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>      return partSerializer;<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>   }<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span><a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>   URI toURI(Object url) throws URISyntaxException {<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>      if (url instanceof URI)<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>         return (URI)url;<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>      if (url instanceof URL)<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>         ((URL)url).toURI();<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>      if (url instanceof URIBuilder)<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>         return ((URIBuilder)url).build();<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>      String s = url == null ? "" : url.toString();<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>      if (rootUrl != null &amp;&amp; ! absUrlPattern.matcher(s).matches()) {<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>         if (s.isEmpty())<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>            s = rootUrl;<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>         else {<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>            StringBuilder sb = new StringBuilder(rootUrl);<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>            if (! s.startsWith("/"))<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>               sb.append('/');<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>            sb.append(s);<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>            s = sb.toString();<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>         }<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      }<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      if (s.indexOf('{') != -1)<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>         s = s.replace("{", "%7B").replace("}", "%7D");<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>      return new URI(s);<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>   }<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span><a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>   ExecutorService getExecutorService(boolean create) {<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      if (executorService != null || ! create)<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>         return executorService;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>      synchronized(this) {<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>         if (executorService == null)<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>            executorService = new ThreadPoolExecutor(1, 1, 30, TimeUnit.SECONDS, new ArrayBlockingQueue&lt;Runnable&gt;(10));<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>         return executorService;<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      }<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>   }<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>   @Override<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>   protected void finalize() throws Throwable {<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>      if (! isClosed &amp;&amp; ! keepHttpClientOpen) {<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>         System.err.println("WARNING:  RestClient garbage collected before it was finalized.");<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>         if (creationStack != null) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>            System.err.println("Creation Stack:");<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>            for (StackTraceElement e : creationStack)<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>               System.err.println(e);<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>         } else {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>            System.err.println("Creation stack traces can be displayed by setting the system property 'org.apache.juneau.rest.client.RestClient.trackLifecycle' to true.");<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>         }<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>      }<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   }<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>}<a name="line.1186"></a>
+<span class="sourceLineNo">1043</span>                                 FormData f1 = pMeta.getAnnotation(FormData.class);<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>                                 if (f1 != null)<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>                                    rc.formData(getName(f1.name(), f1.value(), pMeta), val, f1.skipIfEmpty(), getPartSerializer(f1.serializer(), rma.serializer));<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span><a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>                                 FormDataIfNE f2 = pMeta.getAnnotation(FormDataIfNE.class);<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>                                 if (f2 != null)<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>                                    rc.formData(getName(f2.name(), f2.value(), pMeta), val, true, getPartSerializer(f2.serializer(), rma.serializer));<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span><a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>                                 org.apache.juneau.remoteable.Header h1 = pMeta.getAnnotation(org.apache.juneau.remoteable.Header.class);<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>                                 if (h1 != null)<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>                                    rc.header(getName(h1.name(), h1.value(), pMeta), val, h1.skipIfEmpty(), getPartSerializer(h1.serializer(), rma.serializer));<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span><a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>                                 HeaderIfNE h2 = pMeta.getAnnotation(HeaderIfNE.class);<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>                                 if (h2 != null)<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>                                    rc.header(getName(h2.name(), h2.value(), pMeta), val, true, getPartSerializer(h2.serializer(), rma.serializer));<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>                              }<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>                           }<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>                        }<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>                     }<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span><a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>                     if (rmm.getOtherArgs().length &gt; 0) {<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>                        Object[] otherArgs = new Object[rmm.getOtherArgs().length];<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>                        int i = 0;<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>                        for (Integer otherArg : rmm.getOtherArgs())<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>                           otherArgs[i++] = args[otherArg];<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>                        rc.input(otherArgs);<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>                     }<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span><a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>                     if (rmm.getReturns() == ReturnValue.HTTP_STATUS) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>                        rc.ignoreErrors();<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>                        int returnCode = rc.run();<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>                        Class&lt;?&gt; rt = method.getReturnType();<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>                        if (rt == Integer.class || rt == int.class)<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>                           return returnCode;<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>                        if (rt == Boolean.class || rt == boolean.class)<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>                           return returnCode &lt; 400;<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>                        throw new RestCallException("Invalid return type on method annotated with @RemoteableMethod(returns=HTTP_STATUS).  Only integer and booleans types are valid.");<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>                     }<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span><a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>                     Object v = rc.getResponse(method.getGenericReturnType());<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>                     if (v == null &amp;&amp; method.getReturnType().isPrimitive())<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>                        v = ClassUtils.getPrimitiveDefault(method.getReturnType());<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>                     return v;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span><a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>                  } catch (RestCallException e) {<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>                     // Try to throw original exception if possible.<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>                     e.throwServerException(interfaceClass.getClassLoader());<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>                     throw new RuntimeException(e);<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>                  } catch (Exception e) {<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>                     throw new RuntimeException(e);<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>                  }<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>               }<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>         });<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>      } catch (Exception e) {<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>         throw new RuntimeException(e);<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>      }<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>   }<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>   static final String getName(String name1, String name2, BeanPropertyMeta pMeta) {<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>      String n = name1.isEmpty() ? name2 : name1;<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      ClassMeta&lt;?&gt; cm = pMeta.getClassMeta();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>      if (n.isEmpty() &amp;&amp; (cm.isMapOrBean() || cm.isReader() || cm.isInstanceOf(NameValuePairs.class)))<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>         n = "*";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>      if (n.isEmpty())<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>         n = pMeta.getName();<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>      return n;<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>   }<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span><a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   final HttpPartSerializer getPartSerializer(Class c, HttpPartSerializer c2) {<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>      if (c2 != null)<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>         return c2;<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>      if (c == HttpPartSerializer.Null.class)<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>         return null;<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>      HttpPartSerializer pf = partSerializerCache.get(c);<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>      if (pf == null) {<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>         partSerializerCache.putIfAbsent(c, newInstance(HttpPartSerializer.class, c, true, getPropertyStore()));<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>         pf = partSerializerCache.get(c);<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>      }<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>      return pf;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>   }<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span><a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>   private Pattern absUrlPattern = Pattern.compile("^\\w+\\:\\/\\/.*");<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>   HttpPartSerializer getPartSerializer() {<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>      return partSerializer;<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   }<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span><a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   URI toURI(Object url) throws URISyntaxException {<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>      if (url instanceof URI)<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>         return (URI)url;<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>      if (url instanceof URL)<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>         ((URL)url).toURI();<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>      if (url instanceof URIBuilder)<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>         return ((URIBuilder)url).build();<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>      String s = url == null ? "" : url.toString();<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>      if (rootUrl != null &amp;&amp; ! absUrlPattern.matcher(s).matches()) {<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>         if (s.isEmpty())<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>            s = rootUrl;<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>         else {<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>            StringBuilder sb = new StringBuilder(rootUrl);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>            if (! s.startsWith("/"))<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>               sb.append('/');<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>            sb.append(s);<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>            s = sb.toString();<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>         }<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>      }<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>      if (s.indexOf('{') != -1)<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>         s = s.replace("{", "%7B").replace("}", "%7D");<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>      return new URI(s);<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>   }<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span><a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>   ExecutorService getExecutorService(boolean create) {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>      if (executorService != null || ! create)<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>         return executorService;<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>      synchronized(this) {<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>         if (executorService == null)<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>            executorService = new ThreadPoolExecutor(1, 1, 30, TimeUnit.SECONDS, new ArrayBlockingQueue&lt;Runnable&gt;(10));<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>         return executorService;<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>      }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>   }<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span><a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   @Override<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>   protected void finalize() throws Throwable {<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>      if (! isClosed &amp;&amp; ! keepHttpClientOpen) {<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>         System.err.println("WARNING:  RestClient garbage collected before it was finalized.");<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>         if (creationStack != null) {<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>            System.err.println("Creation Stack:");<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>            for (StackTraceElement e : creationStack)<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>               System.err.println(e);<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>         } else {<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>            System.err.println("Creation stack traces can be displayed by setting the system property 'org.apache.juneau.rest.client.RestClient.trackLifecycle' to true.");<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>         }<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>      }<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>   }<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>}<a name="line.1177"></a>
 
... 5062 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
jamesbognar@apache.org.

Mime
View raw message