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 Mar 2018 15:55:20 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 0bb4f37  Update Javadocs.
0bb4f37 is described below

commit 0bb4f3707a998ae09b3005c264faa09a578af45f
Author: JamesBognar <jamesbognar@apache.org>
AuthorDate: Wed Mar 7 10:55:16 2018 -0500

    Update Javadocs.
---
 content/site/apidocs/overview-summary.html     | 1316 ++++++++++++------------
 content/site/apidocs/resources/juneau-code.css |   10 +
 2 files changed, 668 insertions(+), 658 deletions(-)

diff --git a/content/site/apidocs/overview-summary.html b/content/site/apidocs/overview-summary.html
index 536f5af..6542634 100644
--- a/content/site/apidocs/overview-summary.html
+++ b/content/site/apidocs/overview-summary.html
@@ -873,7 +873,7 @@
       <p>
          The library consists of the following artifacts found in the Maven group <code>"org.apache.juneau"</code>:
       </p>
-      <table class='styled' style='min-width:800px;width:50%'>
+      <table class='styled w800'>
          <tr>
             <th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prerequisites</th>
          </tr>
@@ -1050,7 +1050,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-marshall<xt>&lt;/artifactId&gt;</xt>
@@ -1059,12 +1059,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-marshall-7.1.0.jar 
    </p>  
    
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.marshall_7.1.0.jar 
    </p>  
 
@@ -1094,7 +1094,7 @@
       <p>
          In most cases, you can serialize objects in one line of code by using one of the default serializers:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// A simple bean</jc>
    <jk>public class</jk> Person {
       <jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
@@ -1140,7 +1140,7 @@
          In addition to the default serializers, customized serializers can be created using various built-in options:
       </p>
       
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Use one of the default serializers to serialize a POJO</jc>
    String json = JsonSerializer.<jsf>DEFAULT</jsf>.serialize(someObject);
 
@@ -1173,7 +1173,7 @@
       <p>
          Like the serializers, you can often parse objects in one line of code by using one of the default parsers:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Use one of the predefined parsers.</jc>
    Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
 
@@ -1210,7 +1210,7 @@
       <p>
          The parsers can also be used to populating existing bean and collection objects:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Use one of the predefined parsers.</jc>
    Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
 
@@ -1250,7 +1250,7 @@
          These classes allow serializers and parsers to be retrieved by W3C-compliant HTTP <code>Accept</code> 
          and <code>Content-Type</code> values...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Construct a new serializer group with configuration parameters that get applied to all serializers.</jc>
    SerializerGroup sg = SerializerGroup.<jsm>create</jsm>()
       .append(JsonSerializer.<jk>class</jk>, UrlEncodingSerializer.<jk>class</jk>);
@@ -1334,7 +1334,7 @@
          (In theory, any valid XML can also be parsed into an unstructured model, although this has not been 
          officially 'tested')
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Parse an arbitrary JSON document into an unstructered data model
    // consisting of ObjectMaps, ObjectLists, and java primitive objects.</jc>
    Parser parser = JsonParser.<jsf>DEFAULT</jsf>;
@@ -1356,7 +1356,7 @@
       <p>
          The <code>ObjectMap</code> and <code>ObjectList</code> classes have many convenience features:
       </p>
-      <p class='bcode'> 
+      <p class='bcode w800'>  
    <jc>// Convert the map to a bean.</jc>    
    MyBean m = objectMap.cast(MyBean.<jk>class</jk>);
          
@@ -1400,7 +1400,7 @@
          new instances from scratch or build upon existing instances.
          <br>For example, the following code shows how to configure a JSON serializer:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    WriterSerializer s = JsonSerializer
       .<jsm>create</jsm>()  <jc>// Create a JsonSerializerBuilder</jc>
       .simple()  <jc>// Simple mode</jc>
@@ -1412,7 +1412,7 @@
          Configurable settings can also be set declaratively.
          <br>The following produces the same serializer.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    WriterSerializer s = JsonSerializer
       .<jsm>create</jsm>()
       .set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>)
@@ -1444,7 +1444,7 @@
       <p>
          These can be used directly, as follows:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Serialize a POJO to LAX JSON.</jc>
    String json = JsonSerializer.<jsf>DEFAULT_LAX</jsf>.serialize(myPojo);
       </p>
@@ -1452,7 +1452,7 @@
          For performance reasons, serializers and parsers are immutable.
          However, they can be 'copied' and modified using the <code>builder()</code> method.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Clone and customize an existing serializer.</jc>
    WriterSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>
       .builder()  <jc>// Create a new builder with copied settings.</jc>
@@ -1660,7 +1660,7 @@
          For example, two serializers of the same type created with the same configuration will always end up being
          the same serializer: 
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Two serializers created with identical configurations will always be the same copy.</jc> 
    WriterSerializer s1 = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySwap.<jk>class</jk>).simple().build();
    WriterSerializer s2 = JsonSerializer.<jsm>create</jsm>().set(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).pojoSwaps(MySwap.<jk>class</jk>).build();
@@ -1677,7 +1677,7 @@
       <p>
          In the example above, the property store being built looks like the following:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    PropertyStore ps = PropertyStore
       .<jsm>create</jsm>()
       .set(<js>"BeanContext.pojoSwaps.lc"</js>, MySwap.<jk>class</jk>)
@@ -1776,7 +1776,7 @@
             In the following example, we introduce a <code>PojoSwap</code> that will swap in ISO8601 strings for 
             <code>Date</code> objects:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Sample swap for converting Dates to ISO8601 strings.</jc>
    <jk>public class</jk> MyDateSwap <jk>extends</jk> PojoSwap&lt;Date,String&gt; {
       
@@ -1799,7 +1799,7 @@
          <p>
             The swap can then be associated with serializers and parsers like so:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Sample bean with a Date field.</jc>
    <jk>public class</jk> MyBean {
       <jk>public</jk> Date <jf>date</jf> = <jk>new</jk> Date(112, 2, 3, 4, 5, 6);
@@ -1818,7 +1818,7 @@
             The <a href="org/apache/juneau/BeanMap.html#get-java.lang.Object-"><code>BeanMap.get(Object)</code></a> and <a href="org/apache/juneau/BeanMap.html#put-java.lang.String-java.lang.Object-"><code>BeanMap.put(String,Object)</code></a> 
             methods will automatically convert to swapped values as the following example shows:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new bean context and add our swap.</jc>
    BeanContext bc = BeanContext.<jsm>create</jsm>().pojoSwaps(MyDateSwap.<jk>class</jk>).build();
 
@@ -1841,7 +1841,7 @@
             Another example of a <code>PojoSwap</code> is one that converts <code><jk>byte</jk>[]</code> arrays to
             BASE64-encoded strings:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> ByteArrayBase64Swap <jk>extends</jk> StringSwap&lt;<jk>byte</jk>[]&gt; {
    
       <ja>@Override</ja> <jc>/* StringSwap */</jc>
@@ -1869,7 +1869,7 @@
          <p>
             The following example shows the BASE64 swap in use:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a JSON serializer and register the BASE64 encoding swap with it.</jc>
    WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
    ReaderParser p = JsonParser.<jsm>create</jsm>().pojoSwaps(ByteArrayBase64Swap.<jk>class</jk>).build();
@@ -1945,7 +1945,7 @@
             In the following example, we define 3 swaps against the same POJO.  
             One for JSON, one for XML, and one for all other types.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> PojoSwapTest {
 
       <jk>public static class</jk> MyPojo {}
@@ -2027,7 +2027,7 @@
             <br>It can make sense to be able to render <code>Iterators</code> as arrays, but in general it's not possible to 
             reconstruct an <code>Iterator</code> during parsing. 
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> IteratorSwap <jk>extends</jk> PojoSwap&lt;Iterator,List&gt; {
       <ja>@Override</ja> <jc>/* PojoSwap */</jc>
       <jk>public</jk> List swap(Iterator o) {
@@ -2043,7 +2043,7 @@
             <br>Note that trying to parse the original object will cause a <a href="org/apache/juneau/parser/ParseException.html" title="class in org.apache.juneau.parser"><code>ParseException</code></a> 
             to be thrown.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a JSON serializer that can serialize Iterators.</jc>
    WriterSerializer s = JsonSerializer.<jsm>create</jsm>().simple().pojoSwaps(IteratorSwap.<jk>class</jk>).build();
    
@@ -2069,7 +2069,7 @@
             <br>This is often cleaner than using the builder <code>pojoSwaps()</code> method since you can keep
             your swap class near your POJO class. 
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Swap</ja>(MyPojoSwap.<jk>class</jk>)
    <jk>public class</jk> MyPojo {
       ...
@@ -2087,7 +2087,7 @@
          <p>
             Multiple swaps can be associated with a POJO by using the <a href="org/apache/juneau/annotation/Swaps.html" title="annotation in org.apache.juneau.annotation"><code>@Swaps</code></a> annotation:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Swaps</ja>(
       {
          <ja>@Swap</ja>(MyJsonSwap.<jk>class</jk>),
@@ -2101,7 +2101,7 @@
             <code>Readers</code> get serialized directly to the output of a serializer.
             Therefore it's possible to implement a swap that provides fully-customized output.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyJsonSwap <jk>extends</jk> PojoSwap&lt;MyPojo,Reader&gt; {
 
       <jk>public</jk> MediaType[] forMediaTypes() {
@@ -2117,7 +2117,7 @@
             The <ja>@Swap</ja> annotation can also be used on getters and setters as well to apply a swap
             to individual property values
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@BeanProperty</ja>(swap=MyPojoSwap.<jk>class</jk>)
    <jk>public</jk> MyPojo getMyPojo();
          </p>
@@ -2137,14 +2137,14 @@
          <p>
             For example, you could pair a template string like so:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Swap</ja>(impl=FreeMarkerSwap.<jk>class</jk>, template=<js>"MyPojo.div.ftl"</js>)
    <jk>public class</jk> MyPojo {}
          </p>
          <p>
             The implementation of the FreeMarker swap would look something like this:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Our templated swap class.</jc>
    <jk>public class</jk> FreeMarkerSwap <jk>extends</jk> PojoSwap&lt;Object,Reader&gt; {
 
@@ -2226,7 +2226,7 @@
             The following example shows how an HTML5 form template object can be created that gets serialized as a 
             populated HTML5 <a href="org/apache/juneau/dto/html5/Form.html" title="class in org.apache.juneau.dto.html5"><code>Form</code></a> bean.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
    
    <jd>/**
@@ -2267,7 +2267,7 @@
             The following shows how our form template class can be modified to allow the parsers to reconstruct our 
             original object:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
    
    <jd>/**
@@ -2317,7 +2317,7 @@
          <p>
             For example, let's say we want to be able to serialize the following class, but it's not serializable for 
             some reason (for example, there are no properties exposed):  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Not serializable because it's not a bean because it has no public properties.</jc>
    <jk>public class</jk> MyNonSerializableClass {
       <jk>protected</jk> String <jf>foo</jf>;
@@ -2326,7 +2326,7 @@
          <p>
             This could be solved with the following <code>PojoSwap</code>.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// A serializable bean with 1 property.</jc>
    <jk>public class</jk> MySerializableSurrogate {
       <jk>public</jk> String <jf>foo</jf>;
@@ -2348,7 +2348,7 @@
             However, the same can be accomplished by using a surrogate class that simply contains a constructor with 
             the non-serializable class as an argument:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MySerializableSurrogate {
       <jk>public</jk> String <jf>foo</jf>;
       
@@ -2361,7 +2361,7 @@
          <p>
             The surrogate class is registered in the same way as a <code>PojoSwap</code>:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a JSON serializer that can serialize Iterators.</jc>
    WriterSerializer s = JsonSerializer.<jsm>create</jsm>().pojoSwaps(MySerializableSurrogate.<jk>class</jk>).build();
          </p>
@@ -2388,7 +2388,7 @@
             Bean property inclusion and ordering on a bean class can be done using the 
             <a href="org/apache/juneau/annotation/Bean.html#properties--"><code>@Bean.properties()</code></a> annotation.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Address class with only street/city/state properties (in that order).</jc>
    <jc>// All other properties are ignored.</jc>
    <ja>@Bean</ja>(properties=<js>"street,city,state"</js>)
@@ -2398,7 +2398,7 @@
             Bean properties can be excluded using the <a href="org/apache/juneau/annotation/Bean.html#excludeProperties--"><code>@Bean.excludeProperties()</code></a>
             annotation.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Address class with only street/city/state properties (in that order).</jc>
    <jc>// All other properties are ignored.</jc>
    <ja>@Bean</ja>(excludeProperties=<js>"city,state"</js>})
@@ -2407,7 +2407,7 @@
          <p>
             Bean properties can be sorted alphabetically using <a href="org/apache/juneau/annotation/Bean.html#sort--"><code>@Bean.sort()</code></a>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Address class with only street/city/state properties (in that order).</jc>
    <jc>// All other properties are ignored.</jc>
    <ja>@Bean</ja>(sort=<jk>true</jk>)
@@ -2423,7 +2423,7 @@
             dashed-lowercase, and these will be used as attribute names in JSON and element names in XML.
          </p>
          <p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Define a class with dashed-lowercase property names.</jc>
    <ja>@Bean</ja>(propertyNamer=PropertyNamerDashedLC.<jk>class</jk>)
    <jk>public class</jk> MyBean { ... }
@@ -2435,7 +2435,7 @@
             serialization.
             <br>Additional properties on subclasses will be ignored.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Parent class</jc>
    <ja>@Bean</ja>(interfaceClass=A.<jk>class</jk>)
    <jk>public abstract class</jk> A {
@@ -2466,7 +2466,7 @@
             For example, in the following class hierarchy, instances of <code>C3</code> will include property 
             <code>p3</code>, but not <code>p1</code> or <code>p2</code>.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> C1 {
       <jk>public int</jk> getP1();
    }
@@ -2485,7 +2485,7 @@
             and <a href="org/apache/juneau/transform/PropertyFilter.html" title="class in org.apache.juneau.transform"><code>PropertyFilter</code></a> class can be used to perform interception
             and inline handling of bean getter and setter calls.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Register filter on bean class.</jc>
    <ja>@Bean</ja>(propertyFilter=AddressPropertyFilter.<jk>class</jk>)
    <jk>public class</jk> Address {
@@ -2526,7 +2526,7 @@
             The <a href="org/apache/juneau/annotation/BeanProperty.html#name--"><code>@BeanProperty.name()</code></a> annotation
             is used to override the name of the bean property.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
       <ja>@BeanProperty</ja>(name=<js>"Bar"</js>)
       <jk>public</jk> String getFoo() {...}
@@ -2537,7 +2537,7 @@
             (e.g. the visibility is set to the default of PUBLIC, but the field is PROTECTED), this annotation 
             can be used to force the field to be identified as a property.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
       <ja>@BeanProperty</ja>
       <jk>protected</jk> String getFoo() {...}
@@ -2554,7 +2554,7 @@
          <p>
             The following shows various ways of using dynamic bean properties.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Option #1 - A simple public Map field.</jc>
    <jc>// The field name can be anything.</jc>
    <jk>public class</jk> BeanWithDynaField {
@@ -2594,7 +2594,7 @@
             Similar rules apply for value types and swaps.
             <br>The property values optionally can be any serializable type or use swaps.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// A serializable type other than Object.</jc>
    <jk>public class</jk> BeanWithDynaFieldWithListValues {
 
@@ -2627,7 +2627,7 @@
          <p>
             The following annotations are equivalent:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@BeanProperty</ja>(name=<js>"foo"</js>)
 
    <ja>@BeanProperty</ja>(<js>"foo"</js>)
@@ -2643,7 +2643,7 @@
          <p>
             This property must denote a concrete class with a no-arg constructor.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
 
       <jc>// Identify concrete type as a HashMap.</jc>
@@ -2656,7 +2656,7 @@
             <br>It's used to identify the class types of the contents of the bean property object when
             the general parameter types are interfaces or abstract classes.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
 
       <jc>// This is a HashMap&lt;String,Integer&gt;.</jc>
@@ -2675,7 +2675,7 @@
             <li>Bean/Map arrays - Same, but applied to each element in the array.
             <li>Bean/Map collections - Same, but applied to each element in the collection.
          </ul>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyClass {
 
       <jc>// Only render 'f1' when serializing this bean property.</jc>
@@ -2695,7 +2695,7 @@
             The <a href="org/apache/juneau/annotation/BeanProperty.html#format--"><code>@BeanProperty.format()</code></a> 
             annotation specifies a String format for converting a bean property value to a formatted string.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Serialize a float as a string with 2 decimal places.</jc>
    <ja>@BeanProperty</ja>(format=<js>"$%.2f"</js>)
    <jk>public float</jk> <jf>price</jf>;
@@ -2715,7 +2715,7 @@
          <p>
             The definition of a read-only bean is a bean with properties with only getters, like shown below:
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Our read-only bean.</jc>
    <jk>public class</jk> Person {
       <jk>private final</jk> String <jf>name</jf>;
@@ -2739,7 +2739,7 @@
       }
    }        
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Parsing into a read-only bean.</jc>
    String json = <js>"{name:'John Smith',age:45}"</js>;
    Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(json);
@@ -2762,7 +2762,7 @@
          <p>
             When applied to classes, objects will be converted to strings even though they look like beans.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Not really a bean!  Use toString() instead!</jc>
    <ja>@BeanIgnore</ja>
    <jk>public class</jk> MyBean {...}
@@ -2770,7 +2770,7 @@
          <p>
             When applied to fields and getters/setters, they will be ignored as bean properties.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
       
       <jc>// Not a bean property!</jc>
@@ -2796,14 +2796,14 @@
             A commonly-used case is when you're parsing a JSON map containing beans where one of the bean 
             properties is the key used in the map.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// JSON</jc> 
    {
       id1: {name: <js>'John Smith'</js>, sex:<js>'M'</js>},
       id2: {name: <js>'Jane Doe'</js>, sex:<js>'F'</js>}
    }
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <ja>@NameProperty</ja> 
@@ -2827,7 +2827,7 @@
          <p>
             A commonly-used case is when you're parsing beans and a child bean has a reference to a parent bean.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> AddressBook {
       <jk>public</jk> List&lt;Person&gt; <jf>people</jf>;
    }
@@ -2860,13 +2860,13 @@
          <p>
             A typical builder usage is shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    MyBean b = MyBean.<jsm>create</jsm>().foo(<js>"foo"</js>).bar(123).build();
             </p>                       
             <p>
                The code for such a builder is shown below:
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jk>public class</jk> MyBean {
    
       <jc>// Read-only properties.</jc>
@@ -2927,17 +2927,17 @@
          </p>
          <ul class='spaced-list'>
             <li>A static <code>create()</code> method on the POJO class that returns a builder instance.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jk>public static</jk> MyBuilder <jsm>create</jsm>() {...}
                </p>
             <li>A public constructor on the POJO class that takes in a single parameter that implements the <a href="org/apache/juneau/transform/Builder.html" title="interface in org.apache.juneau.transform"><code>Builder</code></a> interface.
                <br>The builder class must have a public no-arg constructor.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jk>public</jk> MyPojo(MyBuilder b) {...}
                </p>
             <li>A <a href="org/apache/juneau/annotation/Builder.html" title="annotation in org.apache.juneau.annotation"><code>@Builder</code></a> annotation on the POJO class.
                <br>The builder class must have a public no-arg constructor.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ja>@Builder</ja>(MyBuilder.<jk>class</jk>)
    <jk>public class</jk> MyPojo {...}
                </p>
@@ -2947,11 +2947,11 @@
          </p>
          <ul class='spaced-list'>
             <li>The existence of a <code>build()</code> method on the builder class.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jk>public</jk> MyPojo build() {...}
                </p>
             <li>The existence of a public constructor on the POJO class that takes in the builder instance.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jk>public</jk> MyPojo(MyBuilder b) {...}
                </p>
          </ul>
@@ -2972,7 +2972,7 @@
          <p>
             The following example shows a bean containing URIs of various forms and how they end up serialized. 
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Our bean with properties containing various kinds of URIs.</jc>
    <jk>public class</jk> TestURIs {
       <jk>public</jk> URI
@@ -3067,7 +3067,7 @@
             properties and class types so that they also get interpreted as URIs.
             <br>For example:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Applied to a class whose toString() method returns a URI.</jc>
    <ja>@URI</ja>
    <jk>public class</jk> MyURI {
@@ -3111,14 +3111,14 @@
          <p>
             In the previous examples, we defined this bean annotation:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Bean</ja>(properties=<js>"street,city,state"</js>)
    <jk>public class</jk> Address { ... }
          </p>
          <p>
             The programmatic equivalent would be:
          </p>           
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> AddressFilter <jk>extends</jk> BeanFilterBuilder&lt;Address&gt; {
       
       <jc>// Must provide a no-arg constructor!</jc>
@@ -3137,7 +3137,7 @@
          <p>
             For example:
          </p>
-         <p class='bcode'>       
+         <p class='bcode w800'>        
    <jc>// Create a new JSON serializer and associate a bean filter with it.</jc>
    WriterSerializer s = JsonSerializer
       .<jsm>create</jsm>()
@@ -3155,7 +3155,7 @@
             <br>These cause bean implementations of those interfaces to only expose the properties defined on the 
             interface.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// An interface with the 3 properties we want serialized.</jc>
    <jk>public interface</jk> AddressInterface {
       <jk>public</jk> String getStreet();
@@ -3199,7 +3199,7 @@
          <p>
             For example, let's define the following interface and implementation:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Interface</jc>
    <jk>public class</jk> MyInterface {
       <jk>public</jk> String getFoo();
@@ -3215,7 +3215,7 @@
                Suppose we only want to render the properties defined on our interface, not the implementation. 
                <br>To do so, we can define the following bean filter:
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>// Define transform that limits properties to only those defined on MyClass</jc>
    <jk>public class</jk> MyInterfaceFilter <jk>extends</jk> BeanFilter&lt;MyInterface&gt; {
       <jk>public</jk> MyInterfaceFilter() {
@@ -3226,7 +3226,7 @@
             <p>
                When serialized, the serialized bean will only include properties defined on the interface.
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    WriterSerializer s = JsonSerializer
       .<jsm>create</jsm>()
       .simple()
@@ -3245,7 +3245,7 @@
                <br>So in the previous example, the <code>BeanFilter</code> class could have been avoided altogether by just 
                passing in <code>MyInterface.<jk>class</jk></code> to the serializer, like so:
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    WriterSerializer s = JsonSerializer
       .<jsm>create</jsm>()
       .beanFilters(MyInterface.<jk>class</jk>)  <jc>Shortcut!</jc>
@@ -3254,7 +3254,7 @@
             <p>
                The annotation equivalent is <a href="org/apache/juneau/annotation/Bean.html#interfaceClass--"><code>Bean#interfaceClass()</code></a>.
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Bean</ja>(interfaceClass=MyInterface.<jk>class</jk>)
    <jk>public class</jk> MyInterfaceImpl <jk>implements</jk> MyInterface {
       <jk>public</jk> String getFoo() {...}
@@ -3267,7 +3267,7 @@
             <p>
                Using the annotation on an interface will be inherited by all children.
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Bean</ja>(interfaceClass=MyInterface.<jk>class</jk>)
    <jk>public class</jk> MyInterface {
       <jk>public</jk> String getFoo();
@@ -3276,7 +3276,7 @@
             <p>
                The annotation can be used on parent classes as well.
                <br>Child beans will only serialize properties defined on the parent class.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Bean</ja>(interfaceClass=MyAbstractClass.<jk>class</jk>)
    <jk>public abstract class</jk> MyAbstractClass {
       <jk>public</jk> String getFoo() {...};
@@ -3307,7 +3307,7 @@
             For example, in the following class hierarchy, instances of <code>C3</code> will include property <code>p3</code>,
             but not <code>p1</code> or <code>p2</code>.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> C1 {
       <jk>public int</jk> getP1();
    }
@@ -3335,7 +3335,7 @@
             simply serializing their contents directly to the output stream or writer.
             <br>This allows you to embed fully customized serializer output.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyBean {
       <jc>// A bean property that produces raw JSON.</jc>
       <jk>public</jk> Reader f1 = <jk>new</jk> StringReader(<js>"{'foo':'bar'}"</js>); 
@@ -3354,7 +3354,7 @@
             <br>In the following example, we're customizing the JSON output for a particular bean type, but leaving
             all other renditions as-is:
          </p>        
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Swap</ja>(MyBeanSwapSometimes.<jk>class</jk>)
    <jk>public class</jk> MyBean {...}
    
@@ -3407,7 +3407,7 @@
          For example, if a bean property is of type <code>Object</code>, then the serializer will add 
          <js>"_type"</js> attributes so that the class can be determined during parsing.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Bean</ja>(typeName=<js>"foo"</js>)
    <jk>public class</jk> Foo {
       <jc>// A bean property where the object types cannot be inferred since it's an Object[].</jc>
@@ -3425,7 +3425,7 @@
          When serialized as JSON, <js>"_type"</js> attributes would be added when needed to infer the type during 
          parsing:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       x: [
          {_type:<js>'bar'</js>},
@@ -3442,7 +3442,7 @@
       <p>
          When serialized as XML, the bean is rendered as:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;foo&gt;</xt>
       <xt>&lt;x&gt;</xt>
          <xt>&lt;bar/&gt;</xt>
@@ -3472,7 +3472,7 @@
          <li>Any subclass of <a href="org/apache/juneau/BeanDictionaryMap.html" title="class in org.apache.juneau"><code>BeanDictionaryMap</code></a> containing a mapping of type names to classes without type name annotations.
          <li>Any array or collection of the objects above.
       </ul>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a parser and tell it which classes to try to resolve.</jc>
    ReaderParser p = JsonParser
       .<jsm>create</jsm>()
@@ -3507,7 +3507,7 @@
          When using the annotation, you'll typically want to define it on an interface class so that it can
          be inherited by all subclasses.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Bean</ja>(typePropertyName=<js>"mytype"</js>, beanDictionary={MyClass1.<jk>class</jk>,MyClass2.<jk>class</jk>})
    <jk>public interface</jk> MyInterface {...}
 
@@ -3554,7 +3554,7 @@
          <p>
             In the following example, the abstract class has two subclasses:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Abstract superclass</jc>
    <ja>@Bean</ja>(
       beanDictionary={A1.<jk>class</jk>, A2.<jk>class</jk>}
@@ -3578,7 +3578,7 @@
          <p>
             When serialized, the subtype is serialized as a virtual <js>"_type"</js> property:
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>;
    A1 a1 = <jk>new</jk> A1();
    a1.<jf>f1</jf> = <js>"f1"</js>;
@@ -3588,7 +3588,7 @@
          <p>
             The following shows what happens when parsing back into the original object.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    JsonParser p = JsonParser.<jsf>DEFAULT</jsf>;
    A a = p.parse(r, A.<jk>class</jk>);
    <jsm>assertTrue</jsm>(a <jk>instanceof</jk> A1);
@@ -3607,7 +3607,7 @@
       <p>
          For example, the following code creates an instance of the specified unimplemented interface:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Our unimplemented interface</jc> 
    <jk>public interface</jk> Address {
       
@@ -3644,7 +3644,7 @@
       <p>
          Virtual beans can also be created programmatically using the <code>BeanContext</code> class:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Address address = BeanContext.<jsf>DEFAULT</jsf>.createSession().newBean(Address.<jk>class</jk>);
       </p>
    </div>
@@ -3669,7 +3669,7 @@
       <p>
          For example, let's make a POJO model out of the following classes:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> A {
       <jk>public</jk> B b;
    }
@@ -3685,7 +3685,7 @@
       <p>
          Now we create a model with a loop and serialize the results.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Clone an existing serializer and set property for detecting recursions.</jc>
    JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.builder().detectRecursions(<jk>true</jk>).build();
 
@@ -3701,7 +3701,7 @@
       <p>
          What we end up with is the following, which does not serialize the contents of the <code>c</code> field:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       b: {
          c: {
@@ -3744,7 +3744,7 @@
       <p>
          For example, given the following JSON:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       id: <jk>1</jk>, 
       name: <js>'John Smith'</js>, 
@@ -3768,7 +3768,7 @@
       <p>
          We can parse this into a generic <code>ObjectMap</code>:
       </p>
-      <p class='bcode'> 
+      <p class='bcode w800'>  
    <jc>// Parse JSON into a generic POJO model.</jc>
    ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
 
@@ -3780,7 +3780,7 @@
          <br>Even the numbers and booleans are preserved because they are parsed into <code>Number</code> and 
          <code>Boolean</code> objects when parsing into generic models.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       id: <jk>1</jk>, 
       name: <js>'John Smith'</js>, 
@@ -3805,7 +3805,7 @@
          Once parsed into a generic model, various convenience methods are provided on the <code>ObjectMap</code>
             and <code>ObjectList</code> classes to retrieve values:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Parse JSON into a generic POJO model.</jc>
    ObjectMap m = JsonParser.<jsf>DEFAULT</jsf>.parse(json, ObjectMap.<jk>class</jk>);
 
@@ -3853,7 +3853,7 @@
          parsed POJO.
       </p>
       <h5 class='figure'>Examples:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// If you're calling parse on the same input multiple times, use a session instead of the parser directly.</jc>
    ReaderParserSession p = JsonParser.<jsm>create</jsm>().unbuffered().build().createSession();
    Object x;
@@ -3899,7 +3899,7 @@
       </p>
    
       <h5 class='topic'>Annotations</h5>
-      <table class='styled' style='min-width:800px;width:50%'>
+      <table class='styled w800'>
          <tr><th>Jackson</th><th>Juneau</th></tr>
          <tr>
             <td>
@@ -4005,7 +4005,7 @@
       <p>
          The following chart shows POJOs categorized into groups and whether they can be serialized or parsed:
       </p>
-      <table class='styled' style='border-collapse: collapse;min-width:800px;width:50%'>
+      <table class='styled w800' style='border-collapse:collapse'>
          <tr><th>Group</th><th>Description</th><th>Examples</th><th>Can<br>serialize?</th><th>Can<br>parse?</th></tr>
          <tr class='dark bb' style='background-color:lightyellow;'>
             <td style='text-align:center'>1</td>
@@ -4278,7 +4278,7 @@
          The following example shows JSON for a typical bean:
       </p>
       <h5 class='figure'>Sample Beans</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -4301,7 +4301,7 @@
    }  
       </p>
       <h5 class='figure'>Sample Code</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Person p = <jk>new</jk> Person()
       .name(<js>"John Smith"</js>)
       .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -4315,7 +4315,7 @@
       );
       </p>
       <h5 class='figure'>Normal JSON</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       <js>"name"</js>: <js>"John Smith"</js>, 
       <js>"birthDate"</js>: <js>"1946-08-12T00:00:00Z"</js>, 
@@ -4331,7 +4331,7 @@
    } 
          </p>
       <h5 class='figure'>Lax JSON</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       name: <js>'John Smith'</js>, 
       birthDate: <js>'1946-08-12T00:00:00Z'</js>, 
@@ -4366,7 +4366,7 @@
          </ul>
          
          <h5 class='figure'>Data type conversions:</h5>
-         <table class='styled' style='max-width:800px;'>
+         <table class='styled w800'>
             <tr>
                <th>POJO type</th>
                <th>JSON type</th>
@@ -4515,7 +4515,7 @@
             The annotation can be applied to beans as well as other objects serialized to other types (e.g. strings).
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    <ja>@Json</ja>(wrapperAttr=<js>"personBean"</js>)
    <jk>public class</jk> Person {
       <jk>public</jk> String <jf>name</jf> = <js>"John Smith"</js>;
@@ -4524,7 +4524,7 @@
          <p>
             The following shows the JSON representation with and without the annotation present:
          </p>
-         <table class='styled' style='width:800px;'>
+         <table class='styled w800'>
             <tr>
                <th>Without annotation</th>
                <th>With annotation</th>
@@ -4562,7 +4562,7 @@
             schema serializer may be subject to future modifications.
          </p>
          <h5 class='figure'>Sample Beans</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -4587,7 +4587,7 @@
          <p>
             The code for creating our POJO model and generating JSON-Schema is shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Get the schema serializer for one of the default JSON serializers.</jc>
    JsonSchemaSerializer s = JsonSerializer.<jsf>DEFAULT_LAX_READABLE</jsf>.getSchemaSerializer();
    
@@ -4596,7 +4596,7 @@
          </p>
          
          <h5 class='figure'>JSON Schema</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    {
       type: <js>'object'</js>, 
       description: <js>'org.apache.juneau.sample.Person'</js>, 
@@ -4663,7 +4663,7 @@
          The following example shows XML for a typical bean:
       </p>
       <h5 class='figure'>Sample Beans</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Bean</ja>(typeName=<js>"person"</js>)
    <jk>public class</jk> Person {
       
@@ -4688,7 +4688,7 @@
    }  
       </p>
       <h5 class='figure'>Sample Code</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Person p = <jk>new</jk> Person()
       .name(<js>"John Smith"</js>)
       .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -4702,7 +4702,7 @@
       );
       </p>
       <h5 class='figure'>Normal XML:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;person&gt;</xt>
       <xt>&lt;name&gt;</xt>John Smith<xt>&lt;/name&gt;</xt>
       <xt>&lt;birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/birthDate&gt;</xt>
@@ -4737,7 +4737,7 @@
          <p>
             The representation of loose (not a direct bean property value) simple types are shown below:
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -4778,7 +4778,7 @@
             <xa>_type</xa> attributes are added to bean properties or map entries if the type cannot be inferred 
             through reflection (e.g. an <code>Object</code> or superclass/interface value type).
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -4849,7 +4849,7 @@
          <p>
             Loose collections and arrays use the element <xt>&lt;array&gt;</xt> for encapsulation.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5026,7 +5026,7 @@
          </table>
    
          <h5 class='topic'>Beans</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5081,7 +5081,7 @@
          </table>
          
          <h5 class='topic'>Beans with Map properties</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5226,7 +5226,7 @@
          </ol>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5271,7 +5271,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Java</th>
                <th>Without annotation</th>
@@ -5333,7 +5333,7 @@
          </p>
          
          <h5 class='figure'>Examples</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Java</th>
                <th>XML</th>
@@ -5446,7 +5446,7 @@
             Bean type names are also used for resolution when abstract fields are used.
             <br>The following examples show how they are used in a variety of circumstances.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Java</th>
                <th>XML</th>
@@ -5652,7 +5652,7 @@
             <js>'\b'</js> and <js>'\f'</js> cannot be encoded in XML 1.0 at all without inventing our own notation.
             <br>Whitespace characters in element names are encoded as well as whitespace end characters in text.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Java</th>
                <th>XML</th>
@@ -5705,7 +5705,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5801,7 +5801,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5836,7 +5836,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5875,7 +5875,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5919,7 +5919,7 @@
          </p>
          
          <h5 class='figure'>Example</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -5966,7 +5966,7 @@
             to differentiate which collection the values came from if you plan on parsing the output back into beans.
             <br>Note that child names must not conflict with other property names.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6016,7 +6016,7 @@
             <br>It allows free-form child elements to be formed.
             <br>All other properties on the bean MUST be serialized as attributes.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6088,7 +6088,7 @@
             <a href="org/apache/juneau/xml/annotation/XmlFormat.html#MIXED"><code>XmlFormat.MIXED</code></a> except whitespace characters are preserved in 
             the output.  
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6167,7 +6167,7 @@
          <p>
             The examples below show how whitespace is handled under various circumstances:
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>XML</th>
@@ -6430,7 +6430,7 @@
             <br>The <a href="org/apache/juneau/xml/annotation/XmlFormat.html#TEXT_PWS"><code>XmlFormat.TEXT_PWS</code></a> is the same except whitespace is 
             preserved in the output.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6468,7 +6468,7 @@
             XML before being set as the property value.  
             This process may not be perfect (e.g. double quotes may be replaced by single quotes, etc...).
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6505,7 +6505,7 @@
             Let's go back to the example of our original <code>Person</code> bean class, but add some namespace annotations:
          </p>
       <h5 class='figure'>Sample Beans</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Xml</ja>(prefix=<js>"per"</js>)
    <ja>@Bean</ja>(typeName=<js>"person"</js>)
    <jk>public class</jk> Person {
@@ -6538,7 +6538,7 @@
          <br>Below shows it defined at the package level:
       </p>
       <h5 class='figure'>package-info.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@XmlSchema</ja>(
       prefix=<js>"ab"</js>,  <jc>// Default namespace</jc>
       xmlNs={
@@ -6551,7 +6551,7 @@
    <jk>package</jk> org.apache.juneau.examples.addressbook;
       </p>     
       <h5 class='figure'>Sample Code</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Person p = <jk>new</jk> Person()
       .name(<js>"John Smith"</js>)
       .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -6573,7 +6573,7 @@
          <p>
             Now when we run this code, we'll see namespaces added to our output:
          </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;per:person&gt;</xt>
       <xt>&lt;per:name&gt;</xt>John Smith<xt>&lt;/per:name&gt;</xt>
       <xt>&lt;per:birthDate&gt;</xt>1946-08-12T04:00:00Z<xt>&lt;/per:birthDate&gt;</xt>
@@ -6592,7 +6592,7 @@
             Enabling the <a href="org/apache/juneau/xml/XmlSerializer.html#XML_addNamespaceUrisToRoot"><code>XmlSerializer.XML_addNamespaceUrisToRoot</code></a> setting results
             in the namespace URLs being added to the root node:
          </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;per:person</xt>
          <xa>xmlns</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
          <xa>xmlns:per</xa>=<xs>'http://www.apache.org/person/'</xs>
@@ -6615,7 +6615,7 @@
          <p>
             We can simplify the output by setting the default namespace on the serializer so that all the elements do 
             not need to be prefixed:
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
    XmlSerializer s = XmlSerializer.<jsm>create</jsm>().ws().sq().ns()
       .defaultNamespaceUri(<js>"http://www.apache.org/person/"</js>)
@@ -6625,7 +6625,7 @@
             This produces the following equivalent where the elements don't need prefixes since they're already in the 
             default document namespace:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;person</xt>
          <xa>xmlns:juneau</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
          <xa>xmlns</xa>=<xs>'http://www.apache.org/person/'</xs>
@@ -6657,7 +6657,7 @@
             The following code will produce the same output as before, but will perform slightly better since it 
             avoids this pre-scan step.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer with readable output, this time with namespaces enabled.</jc>
    XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
       .ws()
@@ -6701,7 +6701,7 @@
             <br>Since we have not defined a default namespace, everything is defined under the default Juneau namespace.
          </p>
          <h5 class='figure'>Sample Beans</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Bean</ja>(typeName=<js>"person"</js>)
    <jk>public class</jk> Person {
       
@@ -6728,7 +6728,7 @@
          <p>
             The code for creating our POJO model and generating XML Schema is shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer with readable output.</jc>
    XmlSerializer s = XmlSerializer.<jsm>create</jsm>()
       .ws()
@@ -6745,7 +6745,7 @@
    String xmlSchema = ss.serialize(<jk>new</jk> Person());
          </p>
          <h5 class='figure'>XML-Schema results</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;schema</xt> 
          <xa>xmlns</xa>=<xs>'http://www.w3.org/2001/XMLSchema'</xs> 
          <xa>targetNamespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
@@ -6787,7 +6787,7 @@
             Now if we add in some namespaces, we'll see how multiple namespaces are handled.
          </p>
          <h5 class='figure'>Sample Beans with multiple namespaces</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Xml</ja>(prefix=<js>"per"</js>)
    <ja>@Bean</ja>(typeName=<js>"person"</js>)
    <jk>public class</jk> Person {
@@ -6817,7 +6817,7 @@
             The schema consists of 4 documents separated by a <js>'\u0000'</js> character.
          </p>
          <h5 class='figure'>XML-Schema results</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;schema</xt> 
          <xa>xmlns</xa>=<xs>'http://www.w3.org/2001/XMLSchema'</xs> 
          <xa>targetNamespace</xa>=<xs>'http://www.apache.org/2013/Juneau'</xs> 
@@ -6955,7 +6955,7 @@
             Tags are added to help differentiate data types when they cannot be inferred through reflection.
             These tags are ignored by browsers and treated as plain text.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -6996,7 +6996,7 @@
             The <xa>_type</xa> attribute is added to differentiate between objects (maps/beans) and arrays 
             (arrays/collections).
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -7097,7 +7097,7 @@
          <p>
             Collections and arrays are represented as ordered lists.
          </p>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -7217,7 +7217,7 @@
          </table>
          
          <h5 class='topic'>Collections</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -7285,7 +7285,7 @@
          </table>
    
          <h5 class='topic'>Beans</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -7370,7 +7370,7 @@
          </table>
          
          <h5 class='topic'>Beans with Map properties</h5>
-         <table class='styled' style='width:auto'>
+         <table class='styled w800'>
             <tr>
                <th>Data type</th>
                <th>JSON example</th>
@@ -7575,7 +7575,7 @@
          The following example shows JSON for a typical bean:
       </p>
       <h5 class='figure'>Sample Beans</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -7598,7 +7598,7 @@
    }  
       </p>
       <h5 class='figure'>Sample Code</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Person p = <jk>new</jk> Person()
       .name(<js>"John Smith"</js>)
       .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -7612,7 +7612,7 @@
       );
       </p>
       <h5 class='figure'>UON</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    (
       <ua>name</ua>=<us>'John+Smith'</us>,
       <ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>,
@@ -7633,7 +7633,7 @@
       <h4 class='topic' onclick='toggle(this)'>2.18.1 - UON Methodology</h4>
       <div class='topic'>
          <h5 class='figure'>General methodology:</h5>
-         <table class='styled' style='border-collapse: collapse;max-width:800px;'>
+         <table class='styled w800' style='border-collapse:collapse'>
             <tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
             <tr>
                <td>Maps/beans</td>
@@ -7776,7 +7776,7 @@
          The following example shows JSON for a typical bean:
       </p>
       <h5 class='figure'>Sample Beans</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -7799,7 +7799,7 @@
    }  
       </p>
       <h5 class='figure'>Sample Code</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Person p = <jk>new</jk> Person()
       .name(<js>"John Smith"</js>)
       .birthDate(<js>"1946-08-12T00:00:00Z"</js>)
@@ -7813,7 +7813,7 @@
       );
       </p>
       <h5 class='figure'>URL-Encoding</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ua>name</ua>=<us>'John+Smith'</us>
    &amp;<ua>birthDate</ua>=<us>'1946-08-12T00:00:00Z'</us>
    &amp;<ua>addresses</ua>=@(
@@ -7832,7 +7832,7 @@
       <h4 class='topic' onclick='toggle(this)'>2.19.1 - URL-Encoding Methodology</h4>
       <div class='topic'>
          <h5 class='figure'>General methodology:</h5>
-         <table class='styled' style='border-collapse: collapse;max-width:800px;'>
+         <table class='styled w800' style='border-collapse:collapse'>
             <tr><th>Java type</th><th>JSON equivalent</th><th>UON</th></tr>
             <tr>
                <td>Maps/beans</td>
@@ -8087,7 +8087,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-marshall-rdf<xt>&lt;/artifactId&gt;</xt>
@@ -8096,12 +8096,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-marshall-rdf-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.marshall.rdf_7.1.0.jar 
    </p>  
 
@@ -8121,7 +8121,7 @@
       packaged separately so that you don't need to pull in the Jena dependency unless you need it.
    </p>
 
-   <p class='bcode'>
+   <p class='bcode w800'>
    <jc>// A simple bean</jc>
    <jk>public class</jk> Person {
       <jk>public</jk> String name = <js>"John Smith"</js>;
@@ -8392,7 +8392,7 @@
             of this class.
             <br>We do this by adding the following annotation to our class:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Rdf</ja>(prefix=<js>"per"</js>)
    <jk>public class</jk> Person {
          </p>
@@ -8400,7 +8400,7 @@
             In general, the best approach is to define the namespace URIs at the package level using a 
             <code>package-info.java</code> class, like so:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// RDF namespaces used in this package</jc>
    <ja>@RdfSchema</ja>(
       prefix=<js>"ab"</js>,
@@ -8421,7 +8421,7 @@
          <p>
             Now when we rerun the sample code, we'll get the following:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;rdf:RDF</xt>
        <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
        <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8440,7 +8440,7 @@
             <br>In high-performance environments, you may want to consider disabling auto-detection and providing an 
             explicit list of namespaces to the serializer to avoid this scanning step.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer, but manually specify the namespaces.</jc>
    RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
       .xmlabbrev()
@@ -8470,7 +8470,7 @@
             identifier for this bean.
             <br>The second un-annotated property is interpreted as a reference to another resource.
          </p>
-         <p class='bcode'> 
+         <p class='bcode w800'>  
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -8493,7 +8493,7 @@
          <p>
             We alter our code to pass in values for these new properties.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create our bean.</jc>
    Person p = <jk>new</jk> Person(1, <js>"John Smith"</js>, <js>"http://sample/addressBook/person/1"</js>, 
       <js>"http://sample/addressBook"</js>);
@@ -8501,7 +8501,7 @@
          <p>
             Now when we run the sample code, we get the following:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;rdf:RDF</xt>
        <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
        <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8523,7 +8523,7 @@
             The following properties would have produced the same output as before.  
             Note that the <ja>@URI</ja> annotation is only needed on the second property.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> Person {
       
       <jc>// Bean properties</jc>
@@ -8545,7 +8545,7 @@
          <p>
             The following code produces the same output as before, but the URIs on the beans are relative.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer with readable output.</jc>
    RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
       .xmlabbrev()
@@ -8589,7 +8589,7 @@
          <p>
             To enable, set the <jsf>RDF_addRootProperty</jsf> property to <jk>true</jk> on the serializer:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer.</jc>
    RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
       .xmlabbrev()
@@ -8600,7 +8600,7 @@
          <p>
             Now when we rerun the sample code, we'll see the added <code>root</code> attribute on the root resource.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;rdf:RDF</xt>
        <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
        <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8644,7 +8644,7 @@
          <p>
             To enable, set the <jsf>RDF_addLiteralTypes</jsf> property to <jk>true</jk> on the serializer:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a new serializer (revert back to namespace autodetection).</jc>
    RdfSerializer s = RdfSerializer.<jsm>create</jsm>()
       .xmlabbrev()
@@ -8655,7 +8655,7 @@
          <p>
             Now when we rerun the sample code, we'll see the added <code>root</code> attribute on the root resource.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <xt>&lt;rdf:RDF</xt>
        <xa>xmlns:rdf</xa>=<xs>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</xs>
        <xa>xmlns:j</xa>=<xs>"http://www.apache.org/juneau/"</xs>
@@ -8696,7 +8696,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-dto<xt>&lt;/artifactId&gt;</xt>
@@ -8705,12 +8705,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-dto-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.dto_7.1.0.jar 
    </p>  
 
@@ -8735,7 +8735,7 @@
       <p>
          The following examples show how to create HTML tables.
       </p>
-      <table class='styled' style='width:auto'>
+      <table class='styled w800'>
          <tr>
             <th>Java code</th>
             <th>HTML</th>
@@ -8849,7 +8849,7 @@
          <br>The following code shows a feed being created programmatically using the 
          <a href="org/apache/juneau/dto/atom/AtomBuilder.html" title="class in org.apache.juneau.dto.atom"><code>AtomBuilder</code></a> class.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>import static</jk> org.apache.juneau.dto.atom.AtomBuilder.*;
    
    Feed feed = 
@@ -8889,7 +8889,7 @@
       </p>
       
       <h5 class='figure'>Example with no namespaces</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a serializer with readable output, no namespaces yet.</jc>
    XmlSerializer s = XmlSerializer.<jsm>create</jsm>().sq().ws().build();
 
@@ -8898,7 +8898,7 @@
       </p>
       
       <h5 class='figure'>Results</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;feed&gt;</xt>
       <xt>&lt;id&gt;</xt>
          tag:juneau.apache.org
@@ -8990,7 +8990,7 @@
          The following is an example Swagger document from the 
          <a href="http://petstore.swagger.io/">Swagger website</a>.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    {
       <jf>"swagger"</jf>: <js>"2.0"</js>,
       <jf>"info"</jf>: {
@@ -9059,7 +9059,7 @@
       <p>
          This document can be generated by the following Java code:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>static import</jk> org.apache.juneau.dto.swagger.SwaggerBuilder.*;
 
    Swagger swagger = <jsm>swagger</jsm>()
@@ -9110,7 +9110,7 @@
          Methods that take in beans and collections of beans can also take in JSON representations
          of those objects.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Pass in a JSON object representation of an Info object.</jc>
    swagger.info(<js>"{title:'Swagger Petstore',...}"</js>);
       </p>
@@ -9120,7 +9120,7 @@
          <br>These methods can also be used to set and retrieve non-Swagger attributes such as 
          <js>"$ref"</js> (which is not a part of the Swagger spec, but is part of the JSON Schema spec).
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Set a non-standard attribute.</jc>
    swagger.set(<js>"$ref"</js>, <js>"http://foo.com"</js>);
    
@@ -9130,7 +9130,7 @@
       <p>
          Swagger docs can be parsed back into Swagger beans using the following code:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Swagger swagger = JsonParser.<jsf>DEFAULT</jsf>.parse(swaggerJson, Swagger.<jk>class</jk>);
       </p>
    </div>
@@ -9143,7 +9143,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-svl<xt>&lt;/artifactId&gt;</xt>
@@ -9152,12 +9152,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-svl-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.svl_7.1.0.jar 
    </p>  
 
@@ -9196,14 +9196,14 @@
          <li class='jc'><a href="org/apache/juneau/svl/vars/LowerCaseVar.html" title="class in org.apache.juneau.svl.vars"><code>LowerCaseVar</code></a> - <code>$LC{arg}</code>
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Use the default variable resolver to resolve a string that contains $S (system property) variables</jc>
    String myProperty = VarResolver.<jsf>DEFAULT</jsf>.resolve(<js>"The Java home directory is $S{java.home}"</js>);
       </p>
       <p>
          The following shows how variables can be arbitrarily nested...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Look up a property in the following order:
    // 1) MYPROPERTY environment variable.
    // 2) 'my.property' system property if environment variable not found.
@@ -9223,7 +9223,7 @@
       <p>
          The following is an example of a variable that performs URL-Encoding on strings.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// First create our var.</jc>
    <jk>public class</jk> UrlEncodeVar <jk>extends</jk> SimpleVar {
       
@@ -9269,7 +9269,7 @@
       <p>
          The following is the list of default variables defined in all modules:
       </p>
-      <table class='styled' style='min-width:800px;width:50%'>
+      <table class='styled w800'>
          <tr>
             <th>Module</th><th>Class</th><th>Pattern</th>
          </tr>
@@ -9436,7 +9436,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a resolver that copies the default resolver and adds $C and $A vars.</jc>
    VarResolver myVarResolver = VarResolver.<jsf>DEFAULT</jsf>
       .builder()
@@ -9473,7 +9473,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-config<xt>&lt;/artifactId&gt;</xt>
@@ -9482,12 +9482,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-config-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.config_7.1.0.jar 
    </p>  
 
@@ -9499,7 +9499,7 @@
          The <code>juneau-config</code> library contains a powerful API for creating and using INI-style config files.
       </p>
       <h5 class='figure'>Example configuration file:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc># A set of entries</cc>
    <cs>[Section1]</cs>
 
@@ -9520,7 +9520,7 @@
          are created through the <a href="org/apache/juneau/config/ConfigBuilder.html" title="class in org.apache.juneau.config"><code>ConfigBuilder</code></a> class.
          <br>Builder creator methods are provided on the <code>Config</code> class:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a Config object</jc>
    Config c = Config.<jsm>create</jsm>().name(<js>"MyConfig.cfg"</js>).build();
    
@@ -9530,7 +9530,7 @@
       <p>
          Once instantiated, reading values from the config are simple:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Read values from section #1</jc>
    <jk>int</jk> key1 = c.getInt(<js>"Section1/key1"</js>);
    <jk>boolean</jk> key2 = c.getBoolean(<js>"Section1/key2"</js>);
@@ -9579,7 +9579,7 @@
          <ul class='spaced-list'>
             <li>
                Each config file contains zero or more sections containing zero or more entries:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cs>[Section1]</cs>
    <ck>key1</ck> = <cv>1</cv>
 
@@ -9588,12 +9588,12 @@
                </p>
             <li>
                Unicode escapes can be used in values.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ck>key1</ck> = <cv>\u0070\u0075\u0062\u006c\u0069\u0063</cv>
                </p>
             <li>
                Comment lines start with the <js>'#'</js> character and can be placed on lines before sections and entries:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc># A comment about this section</cc>
    <cs>[Section1]</cs>
    
@@ -9602,19 +9602,19 @@
                </p>
             <li>
                Comments can also be placed on the same line as entries:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ck>key1</ck> = <cv>1</cv>  <cc># A comment about this entry</cc>
                </p>
             <li>
                Values containing <js>'#'</js> must be escaped to prevent identification as a comment character:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ck>valueContainingPound</ck> = <cv>Value containing \u0023 character</cv>
                </p>
                <br>Likewise, <js>'\'</js> should be escaped to prevent confusion with unicode escapes.
             <li>
                Values containing newlines can span multiple lines.
                <br>Subsequent lines start with a tab character.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ck>multiLineValue</ck> = 
       <cv>line 1,</cv>
       <cv>line 2,</cv>
@@ -9627,7 +9627,7 @@
                Whitespace is not ignored within multi-line values (except for the leading tab character on each line).
             <li>
                Blank lines can be used anywhere in the file.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc># A comment line</cc>
    
    <cc># Another comment line</cc>
@@ -9637,7 +9637,7 @@
             <li>
                Values located before any sections are considered part of the no-name section, meaning
                they are accessed simply by key and not section/key.
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc># Top of file</cc>
    
    <cc># Use config.getString("key1") to retrieve.</cc>
@@ -9652,7 +9652,7 @@
             <li>
                Section and key names must be at least one character long and not consist of any of the following
                characters:
-               <p class='bcode'>
+               <p class='bcode w800'>
    / \ [ ] = #
                </p>
             <li>
@@ -9676,7 +9676,7 @@
          <p>
             The most common case for configuration values are primitives.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># A string</cc>
    <ck>key1</ck> = <cv>foo</cv>
 
@@ -9716,14 +9716,14 @@
          <p>
             On integers and longs, <js>"K"</js>, <js>"M"</js>, and <js>"G"</js> can be used to identify kilo, mega, and giga.
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = <cv>100K</cv>  <cc># Same as 1024000</cc>
    <ck>key2</ck> = <cv>100M</cv>  <cc># Same as 104857600</cc>
          </p>
          <p>
             Numbers can also use hexadecimal and octal notation:
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>hex1</ck> = <cv>0x12FE</cv>
    <ck>hex2</ck> = <cv>0X12FE</cv>
    <ck>octal1</ck> = <cv>01234</cv>
@@ -9731,14 +9731,14 @@
          <p>
             Strings with newlines get broken into separate lines:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = <cv>This is a particularly long sentence that we want to split</cv>
       <cv>onto separate lines</cv>.
          </p>
          <p>
             Typically, multi-line values are started on the next line for clarity like so:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = 
       <cv>This is a particularly long sentence that we want to split</cv>
       <cv>onto separate lines</cv>.
@@ -9772,18 +9772,18 @@
             An example of an object convertible from a String was already shown in an example above.
             <br>In that case, it was a URL which has a public constructor that takes in a String:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># A POJO</cc>
    <ck>key4</ck> = <cv>http://bar</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Read values from section #1</jc>
    URL key4 = c.getObject(<js>"Section1/key4"</js>, URL.<jk>class</jk>);
          </p>
          <p>
             Beans are represented as <a href="org/apache/juneau/json/JsonSerializer.html#DEFAULT_LAX"><code>Lax JSON</code></a> by default:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Contact information</jc>
    <cs>[ContactInfo]</cs>
    <ck>address</ck> = 
@@ -9794,7 +9794,7 @@
          zip: 12345
       }</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Example bean</jc>
    <jk>public class</jk> Address {
       <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
@@ -9849,34 +9849,34 @@
          </ul>
          <p>
             The <code>getStringArray()</code> methods allow you to retrieve comma-delimited lists of values:
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = <cv>foo, bar, baz</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    String[] key1 = c.getStringArray(<js>"key1"</js>);
          </p>
          <p>
             String arrays can also be represented in JSON when using the <code>getObject()</code> methods:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = <cv>['foo','bar','baz']</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    String[] key1 = c.getObject(<js>"key1"</js>, String.<jk>class</jk>);
          </p>
          <p>
             Primitive arrays can also be retrieved using the <code>getObject()</code> methods:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = <cv>[1,2,3]</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>int</jk>[] key1 = c.getObject(<js>"key1"</js>, <jk>int</jk>[].<jk>class</jk>);
          </p>
          <p>
             Arrays of POJOs can also be retrieved using the <code>getObject()</code> methods:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>addresses</ck> = 
       <cv>[
          {
@@ -9893,7 +9893,7 @@
          }
       ]</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    Address[] addresses = c.getObject(<js>"addresses"</js>, Address[].<jk>class</jk>);
          </p>
       </div>
@@ -9940,7 +9940,7 @@
                <br>Produces: <code>LinkedHashMap&lt;Integer,ArrayList&lt;MyBean[]&gt;&gt;</code> 
          </ul>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>addresses</ck> = 
       <cv>[
          {
@@ -9957,14 +9957,14 @@
          }
       ]</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    List&lt;Address&gt; addresses = c.getObject(<js>"addresses"</js>, ArrayList.<jk>class</jk>, Address.<jk>class</jk>);
          </p>
          <p>
             Oftentimes, it might be useful to parse into the <a href="org/apache/juneau/ObjectList.html" title="class in org.apache.juneau"><code>ObjectList</code></a> and <a href="org/apache/juneau/ObjectMap.html" title="class in org.apache.juneau"><code>ObjectMap</code></a>
             classes that provide the various convenience methods for working with JSON-like data structures:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    ObjectMap m = c.getObject(<js>"key1"</js>, ObjectMap.<jk>class</jk>);
    ObjectList l = c.getObject(<js>"key2"</js>, ObjectList.<jk>class</jk>);
          </p>
@@ -10004,16 +10004,16 @@
          <p>
             For example:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key</ck> = <cv>Zm9vYmFycw==</cv>
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>byte</jk>[] bytes = c.getBytes(<js>"key"</js>);
          </p>
          <p>
             Binary lines can be split up into separate lines for readability:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key</ck> = 
       <cv>Zm9vYm
       Fycw==</cv>
@@ -10036,7 +10036,7 @@
          Config files can contain variables that get resolved dynamically using the previously-described <a href="org/apache/juneau/svl/VarResolver.html" title="class in org.apache.juneau.svl"><code>VarResolver</code></a> API.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#--------------------------</cc>
    <cc># My section</cc>
    <cc>#--------------------------</cc>
@@ -10057,7 +10057,7 @@
    <cc># A POJO with embedded variables</cc>
    <ck>aBean</ck> = <cv>{foo:'$S{foo}',baz:$C{MySection/anInt}}</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Config c = Config.<jsf>create</jsf>().build();
    
    Locale locale = cf.getObject(<js>"MySection/locale"</js>, Locale.<jk>class</jk>); 
@@ -10106,7 +10106,7 @@
          <p>
             The <code>$IF</code> variable can be used for simple if/else logic:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># Value set to 'foo' if myBooleanProperty is true</cc>
    <ck>key1</ck> = 
       <cv>$IF{    
@@ -10133,7 +10133,7 @@
          <p>
             The <code>$SW</code> variable can be used for switch blocks based on pattern matching:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># Shell command depends on the OS</cc>
    <ck>shellCommand</ck> = 
       <cv>$SW{    
@@ -10146,7 +10146,7 @@
          <p>
             The <code>$CO</code> variable can be used for coalescing of values (finding the first non-null/empty match):
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># Debug flag can be enabled by system property or environment variable.</cc>
    <ck>debug</ck> = 
       <cv>$CO{    
@@ -10158,7 +10158,7 @@
          <p>
             The <code>$PM</code> variable can be used for calculating boolean values:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc># Debug flag can be enabled by system property or environment variable.</cc>
    <ck>isWindows</ck> = 
       <cv>$PM{    
@@ -10182,7 +10182,7 @@
       <p>
          For example, the following password is marked for encoding:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cs>[MyHost]</cs>
    <ck>url</ck> = <cv>http://localhost:9080/foo</cv>
    <ck>user</ck> = <cv>me</cv>
@@ -10227,7 +10227,7 @@
          <a href="org/apache/juneau/config/Config.html#getSectionAsMap-java.lang.String-"><code>Config.getSectionAsMap(String)</code></a>.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example config file</jc>
    <cs>[MyAddress]</cs>
    <ck>street</ck> = <cv>123 Main Street</cv>
@@ -10235,7 +10235,7 @@
    <ck>state</ck> = <cv>NY</cv>
    <ck>zip</ck> = <cv>12345</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example usage</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
    
@@ -10260,7 +10260,7 @@
          <a href="org/apache/juneau/config/Config.html#getSectionAsBean-java.lang.String-java.lang.Class-boolean-"><code>Config.getSectionAsBean(String,Class,boolean)</code></a>.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example config file</jc>
    <cs>[MyAddress]</cs>
    <ck>street</ck> = <cv>123 Main Street</cv>
@@ -10268,7 +10268,7 @@
    <ck>state</ck> = <cv>NY</cv>
    <ck>zip</ck> = <cv>12345</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example bean</jc>
    <jk>public class</jk> Address {
       <jk>public</jk> String <jf>street</jf>, <jf>city</jf>;
@@ -10298,7 +10298,7 @@
          call, section interfaces can also be use to set values in the underlying configuration.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example config file</jc>
    <cs>[MySection]</cs>
    <ck>string</ck> = <cv>foo</cv>
@@ -10308,7 +10308,7 @@
    <ck>int3dArray</ck> = <cv>[[[123,null],null],null]</cv>
    <ck>bean1d3dListMap</ck> = <cv>{key:[[[[{foo:'bar',baz:123}]]]]}</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example interface.</jc>
    <jc>// Setters are optional.</jc>
    <jk>public interface</jk> MyConfigInterface {
@@ -10368,7 +10368,7 @@
             <li class='jm'><a href="org/apache/juneau/config/Config.html#removeSection-java.lang.String-"><code>removeSection(String)</code></a>
          </ul>
       </ul>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Construct the sample config file programmatically</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build()
       .set(<js>"key1"</js>, 1)
@@ -10385,7 +10385,7 @@
          The method <a href="org/apache/juneau/config/Config.html#set-java.lang.String-java.lang.Object-org.apache.juneau.serializer.Serializer-org.apache.juneau.config.ConfigMod:A-java.lang.String-java.util.List-"><code>Config.set(String,Object,Serializer,ConfigMod[],String,List)</code></a> can be used
          for adding comments and pre-lines to entries, and specifying encoded values.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Set an encoded value with some comments.</jc>
    c.set(<js>"key1"</js>, 1, <jk>null</jk>, ConfigMod.<jsf>ENCODED</jsf>, <js>"Same-line comment"</js>, 
       Arrays.asList(
@@ -10393,7 +10393,7 @@
       )
    );
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc># Comment 1</cc>
    
    <cc># Comment 2</cc>
@@ -10408,7 +10408,7 @@
       <p>
          Sections can be added with optional pre-lines using the <code>setSection</code> methods:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Set an encoded value with some comments.</jc>
    c.setSection(<js>"NewSection"</js>, 
       Arrays.asList(
@@ -10416,7 +10416,7 @@
       )
    );
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc># Section comment 1</cc>
    
    <cc># Section comment 2</cc>
@@ -10467,11 +10467,11 @@
             Setter methods that take in a <code>Serializer</code> can be used to provide custom serialization of entries
             instead of using the predefined serializer.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Set an XML value instead of JSON.</jc>
    c.set(<js>"key1"</js>, myAddress, XmlSerializer.<jsf>DEFAULT_SQ_READABLE</jsf>);
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>key1</ck> = 
       <cv>&lt;address&gt;  
          &lt;street&gt;123 Main Street&lt;/street&gt;
@@ -10483,7 +10483,7 @@
          <p>
             The value can then be retrieved using the equivalent parser:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    Address myAddress = c.getObject(<js>"key1"</js>, XmlParser.<jsf>DEFAULT</jsf>, Address.<jk>class</jk>);        
          </p>
       </div>
@@ -10558,7 +10558,7 @@
       <p>
          In both cases, the listener is triggered after the changes have been committed.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>final</jk> Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
    
    <jc>// Add a listener for changes to MySection/key1</jc>
@@ -10632,7 +10632,7 @@
       <p>
          Read is self-explanatory:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public</jk> String read(String name) {
       <jc>// Return the contents of the specified configuration.</jc>
    }
@@ -10640,7 +10640,7 @@
       <p>
          Write is slightly trickier:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public</jk> String write(String name, String oldContents, String newContents) {
    
       <jc>// If the old contents match the current stored contents, the new contents will get stored, 
@@ -10655,7 +10655,7 @@
       <p>
          The update method is called whenever the stored file gets modified externally:
       </p>     
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public</jk> String update(String name, String newContents) {
       <jc>// Do something with the updated contents.</jc>
    }
@@ -10675,7 +10675,7 @@
       </ul>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a config with in-memory storage.</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).store(ConfigMemoryStore.<jsf>DEFAULT</jsf>).build();
       <p>
@@ -10696,7 +10696,7 @@
          <p>
             However, the implementation provides a good idea on how stores work (especially the write method):
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> ConfigMemoryStore <jk>extends</jk> ConfigStore {
    
       <jc>// Some methods ommitted.</jc>
@@ -10758,7 +10758,7 @@
          </ul>
          
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Create a config store with a watcher thread and high sensitivity.</jc>
    ConfigFileStore fs = ConfigFileStore.<jsm>create</jsm>().directory(<js>"configs"</js>).useWatcher().watcherSensitivity(<jsf>HIGH</jsf>).build();
    
@@ -10780,7 +10780,7 @@
             <br>Completing it is left as an exercise:
          </p>
          <h5 class='figure'>Example Store Class:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> ConfigSqlStore <jk>extends</jk> ConfigStore {
 
       <jc>// Configurable properties</jc>
@@ -10888,7 +10888,7 @@
             that's passed to the <code>ConfigStore</code>:
          </p>
          <h5 class='figure'>Example Builder Class:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> ConfigSqlStoreBuilder <jk>extends</jk> ConfigStoreBuilder {
 
       <jk>public</jk> ConfigSqlStoreBuilder() {
@@ -10973,7 +10973,7 @@
          <li class='jf'><a href="org/apache/juneau/config/Config.html#CONFIG_readOnly"><code>Config.CONFIG_readOnly</code></a>
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a read-only config</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).readOnly().build();
       </p>
@@ -10991,7 +10991,7 @@
          their listeners get unregistered from the underlying storage APIs.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a transient config.</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
    
@@ -11010,7 +11010,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-rest-server<xt>&lt;/artifactId&gt;</xt>
@@ -11019,12 +11019,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-rest-server-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.rest.server_7.1.0.jar 
       </p>  
 
@@ -11134,7 +11134,7 @@
       <p>
          Like any servlet, we could define our resource in the <l>web.xml</l> file of the web application like so...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;?xml</xt> <xa>version</xa>=<xs>"1.0"</xs> <xa>encoding</xa>=<xs>"UTF-8"</xs><xt>?&gt;</xt>
    <xt>&lt;web-app</xt> <xa>version</xa>=<xs>"2.3"</xs><xt>&gt;</xt>
       <xt>&lt;servlet&gt;</xt>
@@ -11150,7 +11150,7 @@
       <p>
          Our servlet code is shown below:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Sample REST resource that prints out a simple "Hello world!" message.</jc>
    <ja>@RestResource</ja>(
       path=<js>"/helloWorld"</js>,
@@ -11180,10 +11180,10 @@
       <p>
          This is what it looks like in a browser:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld
       </p>
-      <img class='bordered' src='doc-files/juneau-rest-server.HelloWorldExample.1.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-rest-server.HelloWorldExample.1.png'>
       <p>
          It doesn't much simpler than that.  
          <br>In this case, we're simply returning a string that will be converted to any of the supported languages (e.g. 
@@ -11321,7 +11321,7 @@
             <br>You should notice that very little code is being used and everything is configurable through
             annotations:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       serializers={
          HtmlDocSerializer.<jk>class</jk>,
@@ -11413,7 +11413,7 @@
             <a href="org/apache/juneau/rest/annotation/RestResource.html#children--"><code>@RestResource.children()</code></a> annotation.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Parent Resource */</jd>
    <ja>@RestResource</ja>(
       path=<js>"/parent"</js>,
@@ -11421,7 +11421,7 @@
    )
    <jk>public</jk> MyResource <jk>extends</jk> BasicRestServlet {...}
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Child Resource */</jd>
    <ja>@RestResource</ja>(
       path=<js>"/foo"</js>  <jc>// Path relative to parent resource.</jc>
@@ -11455,7 +11455,7 @@
          <p>
             The <l>RootResources</l> class in the Samples project is an example of a router page:
          </p>
-         <p class='bcode'>    
+         <p class='bcode w800'>     
    <jd>/**
     * Sample REST resource showing how to implement a "router" resource page.
     */</jd>
@@ -11492,17 +11492,17 @@
             When you bring up this resource in a browser, you see the following that provides a list
             of navigable links to your child resources:
          </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000
       </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RouterPages.1.png" style='width:800px;'/>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RouterPages.1.png'/>
          <p> 
             The <a href="org/apache/juneau/rest/BasicRestServletGroup.html" title="class in org.apache.juneau.rest"><code>BasicRestServletGroup</code></a> class is nothing more than a subclass of 
             <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> with a <l>getChildren()</l> method mapped to the servlet 
             root path.
             <br>The method returns a POJO with is just a linked-list of beans with name/description properties.
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// The entire contents of the BasicRestServletGroup class.</jc>
    
    <jk>public class</jk> BasicRestServletGroup <jk>extends</jk> BasicRestServlet {
@@ -11559,7 +11559,7 @@
          <p>
             For example, if you want to add an initialization method to your resource:
          </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(...)
    <jk>public class</jk> MyResource  {
 
@@ -11575,7 +11575,7 @@
          <p>
             Or if you want to intercept REST calls:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(...)
    <jk>public class</jk> MyResource {
 
@@ -11637,7 +11637,7 @@
             resource classes that can be extended by all your child resources so that they all share common
             settings.
          </p>
-         <table class='styled' style='max-width: 800px;'>
+         <table class='styled w800'>
             <tr>
                <th><l>Annotation</l></th>
                <th><l>Inheritence Rules</l></th>
@@ -11791,7 +11791,7 @@
       <p>
          To access this object, simply pass it in as a constructor argument or in an INIT hook:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Option #1 - Pass in through constructor.</jc>
    <jk>public</jk> MyResource(RestContextBuilder builder) {
          builder
@@ -11824,7 +11824,7 @@
          <br>The annotation allows the framework to identify the available REST methods through reflection.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/"</js>)
    <jk>public</jk> String sayHello() {
       <jk>return</jk> <js>"Hello world!"</js>;
@@ -11933,7 +11933,7 @@
                </ul>
          </ul>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/example1/{a1}/{a2}/{a3}/*"</js>)
    <jk>public</jk> String doGetExample1(
       RestRequest req,
@@ -11975,7 +11975,7 @@
             with various built-in convenience methods for use in building REST interfaces.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RestRequest req) {...}         
          </p>
@@ -12011,7 +12011,7 @@
             with various built-in convenience methods for use in building REST interfaces.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RestResponse req) {...}        
          </p>
@@ -12037,12 +12037,12 @@
             The <a href="org/apache/juneau/rest/RequestBody.html" title="class in org.apache.juneau.rest"><code>RequestBody</code></a> object is the API for accessing the body of an HTTP request.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestBody body) {...}        
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public void</jk> doPost(RequestBody body) {
       <jc>// Convert body to a linked list of Person objects.</jc>
@@ -12075,12 +12075,12 @@
             The <a href="org/apache/juneau/rest/RequestHeaders.html" title="class in org.apache.juneau.rest"><code>RequestHeaders</code></a> object is the API for accessing the headers of an HTTP request.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestHeaders headers) {...}        
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestHeaders headers) {
 
@@ -12118,12 +12118,12 @@
             The <a href="org/apache/juneau/rest/RequestQuery.html" title="class in org.apache.juneau.rest"><code>RequestQuery</code></a> object is the API for accessing the GET query parameters of an HTTP request.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestQuery query) {...}         
             </p>
             <h5 class='figure'>Example:</h5>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestQuery query) {
 
@@ -12165,12 +12165,12 @@
             The <a href="org/apache/juneau/rest/RequestFormData.html" title="class in org.apache.juneau.rest"><code>RequestFormData</code></a> object is the API for accessing the HTTP request body as form data.
             <br>It can be accessed by passing it as a parameter on your REST Java method:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestFormData query) {...}         
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestFormData formData) {
 
@@ -12214,7 +12214,7 @@
             <br>Note how the variables are passed in as additional arguments on the method, and how those arguments are 
             automatically converted to the specified class type...
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Default method</jc>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
    <jk>public void</jk> doGetDefault() {
@@ -12237,7 +12237,7 @@
             By default, path patterns are matched using a best-match heuristic. 
             <br>When overlaps occur, URLs are matched from most-specific to most-general order:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Try first </jc>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/foo/bar"</js>)
    <jk>public void</jk> method1() {
@@ -12279,7 +12279,7 @@
          <p>
             The following example shows the distinction.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>)
    <jk>public void</jk> doGet(<ja>@PathRemainder</ja> String remainder) {
       <jc>// URL path pattern can have remainder accessible through req.getRemainder().</jc>
@@ -12294,7 +12294,7 @@
             Annotations are provided for easy access to URL parameters with automatic conversion to any <a class='doclink' href='#juneau-marshall.PojoCategories'>parsable</a> type.
             <br>For example, the following example can process the URL <l>"/urlWithParams?foo=foo&amp;bar=[1,2,3]&amp;baz=067e6162-3b6f-4ae2-a171-2470b63dff00"</l>...
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Example GET request with access to query parameters</jc>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/urlWithParams"</js>)
    <jk>public</jk> String doGetWithParams(<ja>@Query</ja>(<js>"foo"</js>) String foo, <ja>@Query</ja>(<js>"bar"</js>) <jk>int</jk> bar, <ja>@Query</ja>(<js>"baz"</js>) UUID baz) <jk>throws</jk> Exception {
@@ -12318,12 +12318,12 @@
             The <a href="org/apache/juneau/rest/RequestPathMatch.html" title="class in org.apache.juneau.rest"><code>RequestPathMatch</code></a> object is the API for accessing the matched variables
             and remainder on the URL path.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object myMethod(RequestPathMatch path) {...}         
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(..., path=<js>"/{foo}/{bar}/{baz}/*"</js>)
    <jk>public void</jk> doGet(RequestPathMatch path) {
       <jc>// Example URL:  /123/qux/true/quux</jc>
@@ -12360,7 +12360,7 @@
             setting the output using the <a href="org/apache/juneau/rest/RestResponse.html#setOutput-java.lang.Object-"><code>RestResponse.setOutput(Object)</code></a> method.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public</jk> String doGet() {
       <jk>return</jk> <js>"Hello World!"</js>;
@@ -12419,7 +12419,7 @@
                <a href="org/apache/juneau/rest/RestResponse.html#getNegotiatedWriter--"><code>RestResponse.getNegotiatedWriter()</code></a> and writing the output yourself.
          </ul>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Equivalent method 1</jc>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/example1/{personId}"</js>)
    <jk>public</jk> Person doGet1(<ja>@Path</ja> UUID personId) {
@@ -12467,7 +12467,7 @@
             <br>This allows these objects to be returned as responses by REST methods.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object sayHello(RestRequest req) {
    
@@ -12508,7 +12508,7 @@
             <br>This allows these objects to be returned as responses by REST methods.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Object showPicture(RestRequest req) {
    
@@ -12548,7 +12548,7 @@
             The following example shows the difference between handling redirects via <l>RestResponse</l> and the simplified approach of using this class.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Redirect to "/contextPath/servletPath/foobar"</jc>
 
    <jc>// Using RestRequest/RestResponse</jc>
@@ -12567,7 +12567,7 @@
             The constructor can use a <l>MessageFormat</l>-style pattern with multiple arguments.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(...)
    <jk>public</jk> Redirect redirectExample3() {
       <jk>return new</jk> Redirect(<js>"foo/{0}/bar/{1}"</js>, id1, id2);
@@ -12579,7 +12579,7 @@
          <p>
             Redirecting to the servlet root can be accomplished by simply using the no-arg constructor.
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Simply redirect to the servlet root.
    // Equivalent to res.sendRedirect(req.getServletURI()).</jc>
    <ja>@RestMethod</ja>(...)
@@ -12599,7 +12599,7 @@
             header value.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// GET method that gets invoked for administrators</jc>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/*"</js>, matchers=IsAdminMatcher.<jk>class</jk>)
    <jk>public</jk> Object doGetForAdmin() {
@@ -12615,7 +12615,7 @@
          <p>
             The interface for matchers is simple:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> IsAdminMatcher <jk>extends</jk> RestMatcher {
 
       <ja>@Override</ja> <jc>/* RestMatcher */</jc>
@@ -12659,7 +12659,7 @@
          The <a href="org/apache/juneau/rest/annotation/Body.html" title="annotation in org.apache.juneau.rest.annotation"><code>@Body</code></a> annotation provides easy access to the HTTP body content as any <a class='doclink' href='#juneau-marshall.PojoCategories'>parsable</a> POJO type
          <br>In the example below, we're POSTing beans.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Example POST of a bean</jc>
    <ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/"</js>)
    <jk>public void</jk> doPost(<ja>@Body</ja> Person person) <jk>throws</jk> Exception {
@@ -12671,7 +12671,7 @@
          <a href="org/apache/juneau/rest/RestRequest.html#getBody--"><code>RestRequest.getBody()</code></a> method, or a parameter annotated with 
          <a href="org/apache/juneau/rest/annotation/Body.html" title="annotation in org.apache.juneau.rest.annotation"><code>@Body</code></a>.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Equivalent method 1</jc>
    <ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/example1"</js>)
    <jk>public void</jk> doPost1(<ja>@Body</ja> Person p) {
@@ -12706,7 +12706,7 @@
             form <l>"aString=foo&amp;aNumber=123&amp;aDate=2001-07-04T15:30:45Z"</l>.
             <br>The code is shown here:
          </p>
-         <p class='bcode'>          
+         <p class='bcode w800'>           
    <ja>@RestResource</ja>(
       path=<js>"/urlEncodedForm"</js>
    )
@@ -12730,7 +12730,7 @@
          <p>
             Another possibility is to access the form parameters individually:   
          </p>  
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** POST request handler */</jd>
    <ja>@RestMethod</ja>(name=<jsf>POST</jsf>, path=<js>"/"</js>)
    <jk>public</jk> Object doPost(<ja>@FormData</ja>(<js>"aString"</js>) String aString, <ja>@FormData</ja>(<js>"aNumber"</js>) <jk>int</jk> aNumber, <ja>@FormData</ja>(<js>"aDate"</js>) Calendar aDate) <jk>throws</jk> Exception {
@@ -12766,7 +12766,7 @@
             be uploaded as multipart form posts.
          </p>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/tempDir"</js>
    )
@@ -12811,7 +12811,7 @@
          The <a href="org/apache/juneau/rest/annotation/FormData.html" title="annotation in org.apache.juneau.rest.annotation"><code>@FormData</code></a> annotation is used to retrieve request form post entries.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'> 
+      <p class='bcode w800'>  
    <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
    <jk>public void</jk> doPost(RestRequest req, RestResponse res,
       <ja>@FormData</ja>(<js>"p1"</js>) <jk>int</jk> p1, 
@@ -12821,7 +12821,7 @@
       <p>
          This is functionally equivalent to the following code:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>POST</jsf>)
    <jk>public void</jk> doPost(RestRequest req, RestResponse res) {
       RequestFormData fd = req.getFormData();
@@ -12866,7 +12866,7 @@
          <a href="org/apache/juneau/rest/RestRequest.html#getBody--"><code>RestRequest.getBody()</code></a> method for <code>application/x-www-form-urlencoded POST</code> calls.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public void</jk> doGet(RestRequest req, RestResponse res,
       <ja>@Query</ja>(<js>"p1"</js>) <jk>int</jk> p1, 
@@ -12876,7 +12876,7 @@
          <p>
             This is functionally equivalent to the following code:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public void</jk> doGet(RestRequest req, RestResponse res) {
       RequestQuery q = req.getQuery();
@@ -12906,14 +12906,14 @@
          The <a href="org/apache/juneau/rest/annotation/Header.html" title="annotation in org.apache.juneau.rest.annotation"><code>@Header</code></a> annotation is used to retrieve request headers.
       </p>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public void</jk> doGet(RestRequest req, RestResponse res, <ja>@Header</ja>(<js>"ETag"</js>) UUID etag) {...}
       </p>
       <p>
          This is functionally equivalent to the following code:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public void</jk> doPostPerson(RestRequest req, RestResponse res) {
       RequestHeaders h = req.getHeaders();
@@ -12961,7 +12961,7 @@
       <p>
          The following are all equivalent ways of defining serializers used by a resource:
       </p>     
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Option #1 - Defined via annotation.</jc>
    <ja>@RestResource</ja>(serializers={JsonSerializer.<jk>class</jk>, XmlSerializer.<jk>class</jk>})
    <jk>public class</jk> MyResource {
@@ -13029,7 +13029,7 @@
       <p>
          The following are all equivalent ways of defining parsers used by a resource:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Option #1 - Defined via annotation.</jc>
    <ja>@RestResource</ja>(parsers={JsonParser.<jk>class</jk>, XmlParser.<jk>class</jk>})
    <jk>public class</jk> MyResource {
@@ -13082,7 +13082,7 @@
          <li class='jc'><a href="org/apache/juneau/rest/RestContextBuilder.html" title="class in org.apache.juneau.rest"><code>RestContextBuilder</code></a> - Various methods on the context builder.
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>import static</jk> org.apache.juneau.BeanContext.*;
    <jk>import static</jk> org.apache.juneau.serializer.Serializer.*;
    <jk>import static</jk> org.apache.juneau.json.JsonSerializer.*;
@@ -13105,7 +13105,7 @@
       <p>
          The programmatic equivalent to this is:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with properties applied</jc>
    <ja>@RestResource</ja>(...)
    <jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13126,7 +13126,7 @@
          <li class='ja'><a href="org/apache/juneau/rest/annotation/RestMethod.html#properties--"><code>RestMethod.properties()</code></a> 
          <li class='jc'><a href="org/apache/juneau/rest/RequestProperties.html" title="class in org.apache.juneau.rest"><code>RequestProperties</code></a> 
       </ul>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// GET method with method-level properties</jc>
    <ja>@RestMethod</ja>(
       name=<jsf>GET</jsf>, path=<js>"/*"</js>,
@@ -13147,7 +13147,7 @@
       <p>
          Using the <a href="org/apache/juneau/rest/RequestProperties.html" title="class in org.apache.juneau.rest"><code>RequestProperties</code></a> object:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Access it from RestRequest.</jc>
    <jk>public</jk> Object doGet(RestRequest req) {
       RequestProperties properties = req.getProperties();
@@ -13202,7 +13202,7 @@
          <li class='jm'><a href="org/apache/juneau/rest/RestContextBuilder.html#beanFilters-java.lang.Object...-"><code>RestContextBuilder.beanFilters(Object...)</code></a> 
          <li class='jm'><a href="org/apache/juneau/rest/RestContextBuilder.html#pojoSwaps-java.lang.Object...-"><code>RestContextBuilder.pojoSwaps(Object...)</code></a> 
       </ul>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with transforms applied</jc>
    <ja>@RestResource</ja>(
       pojoSwaps={
@@ -13222,7 +13222,7 @@
       <p>
          The programmatic equivalent to this is:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with properties applied</jc>
    <ja>@RestResource</ja>(...)
    <jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13255,7 +13255,7 @@
          <li class='ja'><a href="org/apache/juneau/rest/annotation/RestMethod.html#guards--"><code>RestMethod.guards()</code></a> 
          <li class='jm'><a href="org/apache/juneau/rest/RestContextBuilder.html#guards-java.lang.Class...-"><code>RestContextBuilder.guards(Class...)</code></a> 
       </ul>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Define a guard that only lets Billy make a request</jc>
    <jk>public</jk> BillyGuard <jk>extends</jk> RestGuard {
 
@@ -13277,12 +13277,12 @@
       <p>
          A common use for guards is to only allow admin access to certain Java methods...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// DELETE method</jc>
    <ja>@RestMethod</ja>(name=<jsf>DELETE</jsf>, guards={AdminGuard.<jk>class</jk>})
    <jk>public void</jk> doDelete(RestRequest req, RestResponse res) <jk>throws</jk> Exception {...}
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> AdminGuard <jk>extends</jk> RestGuard {
 
       <ja>@Override</ja> <jc>/* RestGuard */</jc>
@@ -13297,7 +13297,7 @@
          <a href="org/apache/juneau/rest/RestGuard.html#guard-org.apache.juneau.rest.RestRequest-org.apache.juneau.rest.RestResponse-"><code>RestGuard.guard(RestRequest,RestResponse)</code></a> and processing the response 
          yourself.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> AdminGuard <jk>extends</jk> RestGuard {
 
       <ja>@Override</ja> <jc>/* RestGuard */</jc>
@@ -13335,7 +13335,7 @@
          <li class='jm'><a href="org/apache/juneau/rest/RestContextBuilder.html#converters-java.lang.Class...-"><code>RestContextBuilder.converters(Class...)</code></a> 
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Associate the Traversable converter to all Java REST methods in this servlet</jc>
    <ja>@RestResource</ja>(converters=Traversable.<jk>class</jk>)
    <jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13345,7 +13345,7 @@
       <p>
          They can also be defined at the method level:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// GET person request handler.</jc>
    <jc>// Traversable conversion enabled to allow nodes in returned POJO tree to be addressed.</jc>
    <jc>// Queryable conversion enabled to allow returned POJO to be searched/viewed/sorted.</jc>
@@ -13364,7 +13364,7 @@
          <br>The converter uses the <a href="org/apache/juneau/utils/PojoRest.html" title="class in org.apache.juneau.utils"><code>PojoRest</code></a> wrapper class to address nodes in the 
          tree.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/**
     * Converter for enablement of PojoRest support on response objects returned by a @RestMethod method.
     * When enabled, objects in a POJO tree returned by the REST method can be addressed through additional URL path information.
@@ -13431,7 +13431,7 @@
       <p>
          The <a href="org/apache/juneau/rest/annotation/RestResource.html#messages--"><code>@RestResource.messages()</code></a> annotation is used to associate a resource bundle with a servlet class.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with associated resource bundle</jc>
    <ja>@RestResource</ja>(messages=<js>"nls/MyMessages"</js>)
    <jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13446,7 +13446,7 @@
          The resource bundle can also be passed into the method by simply specifying a parameter
          of type <a href="http://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util"><code>ResourceBundle</code></a> or <a href="org/apache/juneau/utils/MessageBundle.html" title="class in org.apache.juneau.utils"><code>MessageBundle</code></a>:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>)
    <jk>public</jk> String printLocalizedGreeting(MessageBundle messages) {
       <jk>return</jk> messages.getString(<js>"greeting"</js>);
@@ -13456,13 +13456,13 @@
          If a resource bundle is shared by multiple servlets, the label and description can be prefixed by the class 
          name:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#--------------------------------------------------------------------------------
    # Contents of MyMessages.properties
    #--------------------------------------------------------------------------------</cc>
    <ck>greeting</ck> = Hello!
       </p>     
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#--------------------------------------------------------------------------------
    # Contents of shared MyMessages.properties
    #--------------------------------------------------------------------------------</cc>
@@ -13486,7 +13486,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with automated support for GZIP compression</jc>
    <ja>@RestResource</ja>(encoders={GzipEncoder.<jk>class</jk>})
    <jk>public</jk> MyRestServlet <jk>extends</jk> BasicRestServlet {
@@ -13520,7 +13520,7 @@
          In the previous examples, there were several cases where embedded variables were contained within
          annotation values:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       title=<js>"$L{my.label}"</js>
     )
@@ -13547,7 +13547,7 @@
          <li class='jm'><a href="org/apache/juneau/rest/RestContextBuilder.html#vars-java.lang.Class...-"><code>RestContextBuilder.vars(Class[])</code></a>
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Defined a variable that simply wrapps all strings inside [] brackets.</jc>
    <jc>// e.g. "$BRACKET{foobar}" -> "[foobar]"</jc>
    <jk>public class</jk> BracketVar <jk>extends</jk> SimpleVar {
@@ -13595,7 +13595,7 @@
       </p>
       <a id='DefaultRestSvlVariables'></a>
       <h5 class='figure'>Default REST SVL Variables:</h5>
-      <table class='styled' style='min-width:800px;width:50%'>
+      <table class='styled w800'>
          <tr>
             <th>Module</th><th>Class</th><th>Pattern</th><th>Initialization<br>time</th><th>Request<br>time</th>
          </tr>
@@ -13774,7 +13774,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#--------------------------</cc>
    <cc># Examples </cc>
    <cc>#--------------------------</cc>
@@ -13786,7 +13786,7 @@
       <p>
          These properties are then accessible through the <a href="org/apache/juneau/config/Config.html" title="class in org.apache.juneau.config"><code>Config</code></a> class.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    Config c = Config.<jsm>create</jsm>(<js>"myconfig.cfg"</js>).build();
    String path = c.getString(<js>"MyProperties/path"</js>);
    File javaHome = c.getObject(<js>"MyProperties/javaHome"</js>, File.<jk>class</jk>);
@@ -13800,7 +13800,7 @@
       </ul>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       <jc>// Config file is located at ./config_dir/myconfig.cfg</jc>
       config=<js>"config_dir/myconfig.cfg"</js>,
@@ -13813,7 +13813,7 @@
          <br>For example, the Microservice API <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class defines the 
          location of the config file as a system property <l>"juneau.configFile"</l>:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       <jc>// Config file location is defined as a system property</jc>
       config=<js>"$S{juneau.configFile}"</js>,
@@ -13828,7 +13828,7 @@
       <p>
          A common usage is to use this method to initialize fields in your servlet.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       <jc>// Config file is located at ./config_dir/myconfig.cfg</jc>
       config=<js>"config_dir/myconfig.cfg"</js>,
@@ -13847,7 +13847,7 @@
       <p>
          Another common usage is to refer to config properties through <ck>$C</ck> variables in your annotations:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       <jc>// Get stylesheet from myconfig.cfg, but default to devops.css if it's not specified</jc>
       htmldoc=<ja>@HtmlDoc</ja>(
@@ -13861,14 +13861,14 @@
          It's even possible to reference request-level variables in your config file if you use 
          <a href="org/apache/juneau/rest/RestRequest.html#getConfig--"><code>RestRequest.getConfig()</code></a> to access the config file:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#-------------------------------------</cc>
    <cc># Contents of config_dir/myconfig.cfg </cc>
    <cc>#-------------------------------------</cc>
    <cs>[HelloWorldResource]</cs>
    <ck>message</ck> = <cv>Hello $RQ{person}!</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
     * Sample REST resource that prints out a simple "Hello world!" message.
     */</jd>
@@ -13891,20 +13891,20 @@
       <p>
          You can even add resource bundles into the mix:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#-------------------------------------</cc>
    <cc># Contents of config_dir/myconfig.cfg </cc>
    <cc>#-------------------------------------</cc>
    <cs>[HelloWorldResource]</cs>
    <ck>message</ck> = <cv>$L{localizedMessage,$RQ{person}}</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#-------------------------------------------</cc>
    <cc># Contents of HelloWorldResource.properties </cc>
    <cc>#-------------------------------------------</cc>
    <ck>localizedMessage</ck> = <cv>Hello {0}!</cv>
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
     * Sample REST resource that prints out a simple "Hello world!" message.
     */</jd>
@@ -13946,7 +13946,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>package</jk> com.foo.mypackage;
 
    <ja>@RestResource</ja>(
@@ -14000,7 +14000,7 @@
          <li class='ja'><a href="org/apache/juneau/rest/annotation/RestMethod.html#clientVersion--"><code>RestMethod.clientVersion()</code></a>
       </ul>
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Option #1 - Defined via annotation resolving to a config file setting with default value.</jc>
    <ja>@RestResource</ja>(clientVersionHeader=<js>"Client-Version"</js>)
    <jk>public class</jk> MyResource {
@@ -14040,15 +14040,15 @@
          
       </p>
       <h5 class='figure'>OPTIONS page for HelloWorld sample resource</h5>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld/?method=OPTIONS
       </p>
-      <img class='bordered' src='doc-files/juneau-rest-server.OptionsPages.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-rest-server.OptionsPages.1.png'>
       <p>
          The <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class implements the page by creating a method 
          mapped to the <l>OPTIONS</l> HTTP method that simply returns a Swagger bean:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(...)
    <jk>public class</jk> BasicRestServlet <jk>extends</jk> RestServlet {
 
@@ -14175,14 +14175,14 @@
             <li>
                Specify localized JSON Swagger files on your classpath.
                <br><h5 class='figure'>Example:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    MyResource_ja_JP.json
                </p>
             <li>
                Use <a href="org/apache/juneau/rest/annotation/ResourceSwagger.html" title="annotation in org.apache.juneau.rest.annotation"><code>@ResourceSwagger</code></a> and <a href="org/apache/juneau/rest/annotation/MethodSwagger.html" title="annotation in org.apache.juneau.rest.annotation"><code>@MethodSwagger</code></a>
                annotations on your resource classes and methods.
                <br><h5 class='figure'>Example:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ja>@RestMethod</ja>(
       swagger=<ja>@MethodSwagger</ja>(tags=<js>"foo,bar,baz"</js>)
    )
@@ -14191,7 +14191,7 @@
             <li> 
                Use properties files identified by the <a href="org/apache/juneau/rest/annotation/RestResource.html#messages--"><code>@RestResource.messages()</code></a> annotation.
                <br><h5 class='figure'>Example:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ck>MyResource.myMethod.tags</ck> = <cv>foo,bar,baz</cv>
                </p>
             <li>
@@ -14199,7 +14199,7 @@
             <li>
                Extend the <l>BasicRestInfoProvider</l> and provide customized behavior.   
                <br><h5 class='figure'>Example:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jc>// Our customized info provider.</jc>
    <jc>// Extend from the default implementation and selectively override values.</jc>
    <jk>public class</jk> MyRestInfoProvider <jk>extends</jk> BasicRestInfoProvider {
@@ -14243,7 +14243,7 @@
          on the <a href="org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html"><code>HtmlDocSerializer</code></a> class.
          <br>For example, the following two pieces of code are equivalent:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Title defined via property.</jc>
    <ja>@RestResource</ja>(
       properties={
@@ -14262,7 +14262,7 @@
          The purpose of these annotation is to populate the HTML document view which by default consists of the following
          structure:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;html&gt;
       &lt;head&gt;
          &lt;style <xa>type</xa>=<xs>'text/css'</xs>&gt;
@@ -14295,7 +14295,7 @@
       <p>
          The <l>HelloWorldResource</l> class was an example of the <l>@HtmlDoc</l> annotation in use:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
     * Sample REST resource that prints out a simple "Hello world!" message.
     */</jd>
@@ -14319,7 +14319,7 @@
       <p>
          SVL variables can be used in any of these annotations:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/helloWorld"</js>,
       <jc>// Register a config file.</jc>
@@ -14364,7 +14364,7 @@
             <li class='jf'><a href="org/apache/juneau/rest/RestContext.html#REST_widgets"><code>RestContext.REST_widgets</code></a>
          </ul>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestMethod</ja>(
       widgets={
          MyWidget.<jk>class</jk>
@@ -14408,7 +14408,7 @@
             <br>It shows an example of a widget that renders an image located in the <code>htdocs</code> static files
             directory in your classpath (see <a href="org/apache/juneau/rest/annotation/RestResource.html#staticFiles--"><code>@RestResource.staticFiles()</code></a>):
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyWidget <jk>extends</jk> Widget {
 
       <ja>@Override</ja> <jc>/* Widget */</jc>
@@ -14446,7 +14446,7 @@
             </ul>
          </ul>
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> MyWidget <jk>extends</jk> Widget {
 
       ...
@@ -14488,10 +14488,10 @@
          <p>
             The sample root page below includes some default branding for Juneau and Apache:
          </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld
       </p>
-         <img class='bordered' src='doc-files/juneau-rest-server.UiCustomization.1.png' style='width:800px'/>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.UiCustomization.1.png'>
          <p>
             In particular, you may want to replace these icons:
          </p>
@@ -14504,7 +14504,7 @@
          <p>
             The Juneau icon shown is a result of the header annotation on the <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class:
          </p>  
-         <p class='bcode'>       
+         <p class='bcode w800'>        
    <ja>@RestResource</ja>(
       ...
       htmldoc=<ja>@HtmlDoc</ja>(
@@ -14534,7 +14534,7 @@
             To change this image, you can extend the <l>BasicRestServlet</l> class and simply override the annotations
             pointing to your own icon.
          </p>
-         <p class='bcode'>       
+         <p class='bcode w800'>        
    <ja>@RestResource</ja>(
       ...
       htmldoc=<ja>@HtmlDoc</ja>(
@@ -14557,7 +14557,7 @@
          <p>
             The footer icon shown is generated by a predefined widget:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          widgets={
@@ -14572,7 +14572,7 @@
          <p>
             The widget definition is shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public class</jk> PoweredByApache <jk>extends</jk> Widget {
    
       <jd>/**
@@ -14588,7 +14588,7 @@
          <p>
             To provide your own footer icon, simply define it in your own footer section:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          footer=<js>"&lt;img style='float:right;padding-right:20px;height:32px' src='$U{servlet:/my-htdocs/my-project.png}'&gt;"</js>
@@ -14610,10 +14610,10 @@
          <p>
             The sample root page renders in the default "devops" look-and-feel:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000
          </p>
-         <img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.0.png' style='width:800px'/>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.0.png'>
          <p>
             The sample root page provides a dropdown widget to try out the other default look-and-feels:
          </p>
@@ -14621,21 +14621,21 @@
          <p>
             For example, the "light" look-and-feel:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/?stylesheet=styles%2Flight.css
          </p>
-         <img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.2.png' style='width:800px'/>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.2.png'>
          <p>
             And the "dark" look-and-feel:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/?stylesheet=styles%2Fdark.css
          </p>
-         <img class='bordered' src='doc-files/juneau-rest-server.Stylesheets.3.png' style='width:800px'/>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.Stylesheets.3.png'>
          <p>
             The stylesheet URL is controlled by the <a href="org/apache/juneau/rest/annotation/HtmlDoc.html#stylesheet--"><code>@HtmlDoc.stylesheet()</code></a> annotation.
             <br>The <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class defines the stylesheet served up as a static file:
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          stylesheet=<js>"$C{REST/stylesheet,servlet:/styles/devops.css}"</js>,
@@ -14654,7 +14654,7 @@
             To provide your own stylesheet, simply override the stylesheet attribute and point to a different
             file: 
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          stylesheet=<js>"servlet:/my-styles/my-style.css}"</js>,
@@ -14671,7 +14671,7 @@
          <p>
             In case you're curious about how the menu item works, it's defined via a widget:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          widgets={
@@ -14693,7 +14693,7 @@
             specialized widget for creating pop-up menus.
             <br>In the case of <l>StyleMenuItem</l>, it's simply returning a list of links wrapped in a div tag:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>import static</jk> org.apache.juneau.dto.html5.HtmlBuilder.*;
 
    <jk>public class</jk> StyleMenuItem <jk>extends</jk> MenuItemWidget {
@@ -14736,7 +14736,7 @@
       </ul>    
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Servlet with default headers</jc>
    <ja>@RestResource</ja>(
 
@@ -14799,7 +14799,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    logger.logObjects(<jsf>DEBUG</jsf>, <js>"Pojo contents:\n{0}"</js>, myPojo);
       </p>
       <p>
@@ -14816,7 +14816,7 @@
       <p>
          In addition, the logger can be accessed by passing it as a parameter to your REST java method:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod()</ja>
    <jk>public</jk> Object doSomething(RestLogger logger) {...}
       </p>
@@ -14844,7 +14844,7 @@
       <p>
          Non-OK (200) status codes are automatically triggered by the following conditions:
       </p>
-      <table class='styled' style='max-width:800px;'>
+      <table class='styled w800'>
          <tr>
             <th><l>Code</l></th>
             <th><l>Description</l></th>
@@ -14908,7 +14908,7 @@
       <p>
          For example, the URL <l>"/sample/foo?method=BAR"</l> will cause the following method to be invoked...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<js>"BAR"</js>)
    <jk>public void</jk> doBar(RestRequest req, RestResponse res) {
       <jc>// Handle BAR requests</jc>
@@ -14918,7 +14918,7 @@
          To support overloaded methods, the <a href="org/apache/juneau/rest/annotation/RestResource.html#allowedMethodParams--"><code>@RestResource.allowedMethodParams()</code></a> 
          setting must be enabled on your servlet.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       <jc>// Allow &amp;method parameter on BAR requests</jc>
       allowedMethodParams=<js>"BAR"</js>
@@ -14933,7 +14933,7 @@
       <p>
          The following URL parameters have special meaning and can be passed in through the URL of the request:
       </p>
-      <table class='styled' style='max-width:800px'>
+      <table class='styled w800'>
          <tr>
             <th><l>GET Parameter</l></th>
             <th><l>Description</l></th>
@@ -15004,7 +15004,7 @@
          It's the <l>PhotosResource</l> class pulled from the Samples project.
          It shows an example of defining a serializer and parser to handle images.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/**
     * Sample resource that allows images to be uploaded and retrieved.
     */</jd>
@@ -15128,7 +15128,7 @@
       <p>
          The following code shows how to register your REST servlets in an OSGi <l>Activator</l>:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>package</jk> org.apache.juneau.examples.rest;
    
    <jk>import</jk> org.osgi.framework.*;
@@ -15202,7 +15202,7 @@
          The following simplified example shows how a method on a POJO on a server can be called through an interface
          on a client...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Remoteable</ja>
    <jk>public interface</jk> IAddressBook {
 
@@ -15246,7 +15246,7 @@
       <p>
          The client side code for invoking this method is shown below...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <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>"http://localhost:10000/remoteable"</js>)
@@ -15267,7 +15267,7 @@
       <p>
          Under the covers, this method call gets converted to a REST POST.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    HTTP POST http://localhost:10000/remoteable/org.apache.juneau.examples.rest.IAddressBook/createPerson
    Accept: application/json
    Content-Type: application/json
@@ -15297,7 +15297,7 @@
          To define a remoteable interface, simply add the <a href="org/apache/juneau/remoteable/Remoteable.html" title="annotation in org.apache.juneau.remoteable"><code>@Remoteable</code></a> 
          annotation to your interface class.  
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Remoteable</ja>
    <jk>public interface</jk> MyInterface {...}
       </p>
@@ -15319,7 +15319,7 @@
          The <code>RemoteableServlet</code> class is a simple specialized servlet with an abstract 
          <code>getServiceMap()</code> method to define the server-side POJOs:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/remoteable"</js>
    )
@@ -15347,7 +15347,7 @@
          <br>You simply define a Java method whose return type is an interface, and return the implementation of that 
          interface:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Our exposed proxy object.</jc>
    <ja>@RestMethod</ja>(name=<jsf>PROXY</jsf>, path=<js>"/addressbookproxy/*"</js>)
    <jk>public</jk> IAddressBook getProxy() {
@@ -15382,7 +15382,7 @@
             little additional code.
             <br>The entire code for the <code>RestClient.getRemoteableProxy(Class)</code> method is shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public</jk> &lt;T&gt; T getRemoteableProxy(<jk>final</jk> Class&lt;T&gt; interfaceClass) {
       <jk>return</jk> (T)Proxy.newProxyInstance(
          interfaceClass.getClassLoader(),
@@ -15427,7 +15427,7 @@
             <br>The method that must be implemented is <a href="org/apache/juneau/rest/remoteable/RemoteableServlet.html#getServiceMap--"><code>RemoteableServlet.getServiceMap()</code></a>
             that simply returns a mapping of Java interfaces (or classes) to POJO instances.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/remoteable"</js>
    )
@@ -15457,36 +15457,36 @@
          <p>
             If you point your browser to that URL, you get a list of available interfaces:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable
          </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.1.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.1.png'>
          <p>
             Clicking the hyperlinks on each shows you the list of methods that can be invoked on that service.
             <br>Note that the <code>IAddressBook</code> link shows that you can only invoke methods defined on that
             interface, whereas the <code>AddressBook</code> link shows ALL public methods defined on that class.
          </p>
          <h5 class='figure'>IAddressBook</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook
          </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.2.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.2.png'>
          <p>
             Since <code>AddressBook</code> extends from <code>LinkedList</code>, you may notice familiar collections
             framework methods listed.
          </p>
          <h5 class='figure'>AddressBook</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.AddressBook
          </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.3.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.3.png'>
          <p>
             Let's see how we can interact with this interface through nothing more than REST calls to get a better idea on 
             how this works.
             <br>We'll use the same method call as in the introduction.
             <br>First, we need to create the serialized form of the arguments:
          </p>
-   <p class='bcode'>
+   <p class='bcode w800'>
    Object[] args = <jk>new</jk> Object[] {
       <jk>new</jk> CreatePerson(<js>"Test Person"</js>,
          AddressBook.<jsm>toCalendar</jsm>(<js>"Aug 1, 1999"</js>),
@@ -15498,7 +15498,7 @@
          <p>
             That produces the following JSON output:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    [
       {
          name: <js>'Test Person'</js>, 
@@ -15525,7 +15525,7 @@
             <br>Methods are invoked by POSTing the serialized object array to the URI of the interface method.
             In this case, we want to POST our JSON to the following URL:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/createPerson(org.apache.juneau.examples.addressbook.CreatePerson)
          </p>
          <p>
@@ -15533,16 +15533,16 @@
             <br>We also want the results to be returned as JSON, so we set the <code>Accept</code> header to 
             <code>text/json</code> as well.
          </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.4.png" style='width:400px;'>
+         <img class='bordered w400' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.4.png'>
          <p>
             When we execute the POST, we should see the following successful response whose body contains the returned 
             <code>Person</code> bean serialized to JSON:
          </p>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.5.png" style='width:400px;'>
+         <img class='bordered w400' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.5.png'>
          <p>
             From there, we could use the following code snippet to reconstruct the response object from JSON:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    String response = <js>"<i>output from above</i>"</js>;
    Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(response, Person.<jk>class</jk>);
          </p>
@@ -15550,7 +15550,7 @@
             If we alter our servlet to allow overloaded GET requests, we can invoke methods using nothing more than a 
             browser...
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/remoteable"</js>,
       
@@ -15562,19 +15562,19 @@
          <p>
             For example, to invoke the <code>getPeople()</code> method on our bean:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/getPeople?method=POST
          </p>        
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.6.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.6.png'>
          <p>
             Here we call the <code>findPerson(<jk>int</jk>)</code> method to retrieve a person and get the 
             returned POJO (in this case as HTML since that's what's in the <code>Accept</code> header when calling from a 
             browser):
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/remoteable/org.apache.juneau.examples.addressbook.IAddressBook/findPerson(int)?method=POST&amp;body=@(3)
          </p>        
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.7.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.7.png'>
          <p>
             When specifying the POST body as a <code>&amp;body</code> parameter, the method arguments should be in UON 
             notation.
@@ -15588,9 +15588,9 @@
             passing parameters in UON notation as URL-encoded form posts.
          </p>
          <h5 class='figure'>Sample form entry page</h5>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.8.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.8.png'>
          <h5 class='figure'>Sample form entry page results</h5>
-         <img class='bordered' src="doc-files/juneau-rest-server.RemoteableProxiesServerSide.9.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-rest-server.RemoteableProxiesServerSide.9.png'>
       </div>
 
       <!-- ======================================================================================================== -->
@@ -15607,7 +15607,7 @@
          <p>
             For example, to expose only the first 2 methods in our <code>IAddressBook</code> interface...
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jk>public interface</jk> IAddressBook {
       <ja>@Remoteable</ja> Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
       <ja>@Remoteable</ja> Person findPerson(<jk>int</jk> id);
@@ -15618,7 +15618,7 @@
          <p>
             On the server side, the option to restrict access to only annotated methods is defined through a property:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/remoteable"</js>,
       properties={
@@ -15632,7 +15632,7 @@
             The <ja>@Remoteable</ja> annotation can also be applied to the interface class to expose all public methods 
             defined on that interface.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ja>@Remoteable</ja>
    <jk>public interface</jk> IAddressBook {
       Person createPerson(CreatePerson cp) <jk>throws</jk> Exception;
@@ -15659,7 +15659,7 @@
       <p>
          The general approach starts with defining a resolver that uses the Spring application context for resolution:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> SpringRestResourceResolver <jk>extends</jk> RestResourceResolverSimple {
 
       <jk>private final</jk> ApplicationContext <jf>appContext</jf>;
@@ -15683,7 +15683,7 @@
       <p>
          Next, define the Spring configuration to return our resolver:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@Configuration</ja>
    <jk>public abstract class</jk> MySpringConfiguration {
       
@@ -15708,7 +15708,7 @@
          Finally, define your <code>Root</code> resource with a constructor that takes in our rest resource resolver and
          sets it on the config object during initialization.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       children={
          ...
@@ -15732,7 +15732,7 @@
       <p>
          After that, just define constructors on your child resources to take in Spring beans:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/child"</js>
    )
@@ -15779,7 +15779,7 @@
          properties for labeling and linking to child resources.
          <br>The following examples is pulled from the REST examples:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> PredefinedLabelsResource <jk>extends</jk> BasicRestServlet {
    
       <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/"</js>)
@@ -15799,7 +15799,7 @@
          The internals of the class show it simply has two bean properties with a link annotation
          defined on the name property:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public class</jk> ResourceDescription {
 
       <ja>@Html</ja>(link=<js>"servlet:/{name}"</js>)
@@ -15812,7 +15812,7 @@
          The <a href="org/apache/juneau/rest/labels/BeanDescription.html" title="class in org.apache.juneau.rest.labels"><code>BeanDescription</code></a> class provides a simple view
          of a bean and it's properties.
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/beanDescription"</js>)
    <jk>public</jk> BeanDescription getBeanDescription() {
       <jk>return new</jk> BeanDescription(Person.<jk>class</jk>);
@@ -15826,7 +15826,7 @@
          The <a href="org/apache/juneau/html/annotation/HtmlLink.html" title="annotation in org.apache.juneau.html.annotation"><code>@HtmlLink</code></a> annotation can also be useful
          for rendering custom hyperlinks:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<jsf>GET</jsf>, path=<js>"/htmlLinks"</js>)
    <jk>public</jk> ALink[] htmlLinks() {
       <jk>return new</jk> ALink[] {
@@ -15878,7 +15878,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-rest-server-jaxrs<xt>&lt;/artifactId&gt;</xt>
@@ -15887,12 +15887,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-rest-server-jaxrs-7.1.0.jar 
    </p>  
    
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.rest.server_7.1.0.jar 
    </p>  
    
@@ -15976,7 +15976,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <xt>&lt;dependency&gt;</xt>
       <xt>&lt;groupId&gt;</xt>org.apache.juneau<xt>&lt;/groupId&gt;</xt>
       <xt>&lt;artifactId&gt;</xt>juneau-rest-client<xt>&lt;/artifactId&gt;</xt>
@@ -15985,12 +15985,12 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-rest-client-7.1.0.jar 
    </p>  
    
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.rest.client_7.1.0.jar 
    </p>  
 
@@ -16002,7 +16002,7 @@
       Built upon the Apache HttpClient libraries, it extends that API and provides specialized APIs for working with 
       REST interfaces while maintaining all the functionality available in the HttpClient API.
    </p>
-   <p class='bcode'>
+   <p class='bcode w800'>
    <jc>// Create a reusable JSON client.</jc>
    <jk>try</jk> (RestClient client = RestClient.<jsm>create</jsm>().build()) {
    
@@ -16061,7 +16061,7 @@
    </ul>
    
    <h5 class='figure'>Example:</h5>
-   <p class='bcode'>
+   <p class='bcode w800'>
    <jc>// Examples below use the Juneau Address Book resource example</jc>
 
    <jc>// Create a reusable client with JSON support</jc>
@@ -16175,7 +16175,7 @@
          special annotations that tell us how to convert input and output to HTTP headers, query parameters, form 
          post parameters, or request/response bodies.
       </p>
-      <p class='bcode'> 
+      <p class='bcode w800'>  
    <jc>// Our interface.</jc>
    <ja>@Remoteable</ja>
    <jk>public interface</jk> MyProxyInterface {
@@ -16193,7 +16193,7 @@
       <p>
          The call above translates to the following REST call:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    POST http://hostname/some/rest/interface/method?debug=true HTTP/1.1
    Accept: application/json
    Content-Type: application/json
@@ -16311,7 +16311,7 @@
       </ul>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Create a client that ignores self-signed or otherwise invalid certificates.</jc>
    RestClientBuilder builder = RestClient.<jsm>create</jsm>() 
       .enableSSL(SSLOpts.<jsf>LAX</jsf>);
@@ -16323,7 +16323,7 @@
       <p>
          This is functionally equivalent to the following:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    RestClientBuilder builder = RestClient.<jsm>create</jsm>();
    
    HostnameVerifier hv = <jk>new</jk> NoopHostnameVerifier();
@@ -16356,7 +16356,7 @@
          </p>
          
          <h5 class='figure'>Contents of <code>MyConfig.cfg</code></h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <cc>#================================================================================
    # My Connection Settings
    #================================================================================</cc>
@@ -16366,7 +16366,7 @@
          </p>
          
          <h5 class='figure'>Code that reads an <code>SSLOpts</code> bean from the config file</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Read config file and set SSL options based on what's in that file.</jc>
    Config c = Config.<jsm>create</jsm>(<js>"MyConfig.cfg"</js>).build();
    SSLOpts ssl = c.getObject(SSLOpts.<jk>class</jk>, <js>"Connection/ssl"</js>);
@@ -16390,7 +16390,7 @@
          </p>
          
          <h5 class='figure'>Example:</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <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>)
@@ -16399,7 +16399,7 @@
          <p>
             This is functionally equivalent to the following:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    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>);
@@ -16425,7 +16425,7 @@
             The following example shows how the <code>JazzRestClient</code> class provides FORM-based 
             authentication support.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/**
     * Constructor.
     */</jd>
@@ -16506,7 +16506,7 @@
             The following example shows how the <code>JazzRestClient</code> class provides OIDC authentication 
             support.
          </p>
-   <p class='bcode'>
+   <p class='bcode w800'>
    <jd>/**
     * Constructor.
     */</jd>
@@ -16651,7 +16651,7 @@
       </p>  
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Throw a RestCallException if SUCCESS is not found in the output.</jc>
    restClient.doPost(<jsf>URL</jsf>)
       .successPattern(<js>"SUCCESS"</js>)
@@ -16663,7 +16663,7 @@
       </p>  
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Throw a RestCallException if FAILURE or ERROR is found in the output.</jc>
    restClient.doPost(<jsf>URL</jsf>)
       .failurePattern(<js>"FAILURE|ERROR"</js>)
@@ -16681,7 +16681,7 @@
       </p>  
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <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;();
    
@@ -16739,7 +16739,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <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>
@@ -16759,7 +16759,7 @@
          <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'>
+      <p class='bcode w800'>
    === HTTP Call (outgoing) =======================================================
    === REQUEST ===
    POST http://localhost:10000/testUrl HTTP/1.1
@@ -16785,7 +16785,7 @@
          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'>
+      <p class='bcode w800'>
    === HTTP Request (incoming) ====================================================
    HTTP POST /testUrl
    ---Headers---
@@ -16815,7 +16815,7 @@
       </p>
       
       <h5 class='figure'>Example:</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <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>
@@ -16841,7 +16841,7 @@
          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'>
+      <p class='bcode w800'>
    <jd>/**
     * Specialized interceptor for logging calls to a log file.
     */</jd>
@@ -16940,7 +16940,7 @@
          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'>
+      <p class='bcode w800'>
    <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>
@@ -16951,7 +16951,7 @@
          <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'>
+      <p class='bcode w800'>
    <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>)
@@ -16965,7 +16965,7 @@
          <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'>
+      <p class='bcode w800'>
    <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>)
@@ -16981,7 +16981,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Maven Dependency</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    <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>
@@ -16990,17 +16990,17 @@
    </p>  
    
    <h5 class='figure'>Java Library</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-microservice-server-7.1.0.jar 
    </p>  
 
    <h5 class='figure'>OSGi Module</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    org.apache.juneau.microservice.server_7.1.0.jar 
    </p>  
 
    <h5 class='figure'>Microservice Starter Project</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    my-microservice.zip 
    </p>  
 
@@ -17091,7 +17091,7 @@
                <l>RootResources.java</l> - The top-level REST resource. 
                <br>This class routes HTTP requests to child resources:
                <br><br>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/"</js>,
       title=<js>"My Microservice"</js>,
@@ -17120,7 +17120,7 @@
                <br>Contains various useful settings.
                <br>Can be used for your own resource configurations.
                <br><br>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc>#=======================================================================================================================
    # Basic configuration file for REST microservices
    # Subprojects can use this as a starting point.
@@ -17211,7 +17211,7 @@
                <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'>
+               <p class='bcode w800'>
    <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>
@@ -17290,7 +17290,7 @@
             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'>
+         <p class='bcode w800'>
    Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
    Server started on port 10000
    
@@ -17305,10 +17305,10 @@
             Now open your browser and point to <l>http://localhost:10000</l>.  
             You should see the following:
          </p>
-         <p class='bcode' style='width:400px;'>
+         <p class='bcode w400'>
    http://localhost:10000
          </p>        
-         <img class='bordered' src="doc-files/juneau-microservice-server.Running.1.png" style='width:400px;'>
+         <img class='bordered w400' src='doc-files/juneau-microservice-server.Running.1.png'>
          <p>
             You have started a REST interface on port 10000.
             <br>You can enter the command <code>exit</code> to shut it down.
@@ -17326,7 +17326,7 @@
          <p>
             The easiest way to build your microservice is to run the following from the project root.
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    mvn clean install
          </p>
          <p>
@@ -17340,13 +17340,13 @@
          <p>
             To start from a command line, run the following command from inside your <code>target</code> directory:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    java -jar my-microservice-1.0.jar
          </p>
          <p>
             You should see the following console output:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    Running class 'RestMicroservice' using config file 'my-microservice.cfg'.
    Server started on port 10000
    
@@ -17373,7 +17373,7 @@
          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'>
+      <p class='bcode w800'>
    <mk>Main-Class</mk>: <mv>org.apache.juneau.microservice.RestMicroservice</mv>
    <mk>Main-ConfigFile</mk>: <mv>my-microservice.cfg</mv>
       <p>
@@ -17398,7 +17398,7 @@
             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'>
+         <p class='bcode w800'>
    <jc>// Get Main-Class from manifest file.</jc>
    String mainClass = Microservice.<jsm>getInstance</jsm>().getManifest().getString(<js>"Main-Class"</js>, <js>"unknown"</js>);
          </p>
@@ -17437,14 +17437,14 @@
             <li class='jm'><a href="org/apache/juneau/rest/RestContext.html#getConfig--"><code>RestContext.getConfig()</code></a> 
                <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time variables</a> can be used.
                <h5 class='figure'>Example usage:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc>#-------------------------------</cc>
    <cc># Properties for MyHelloResource </cc>
    <cc>#-------------------------------</cc>
    <cs>[MyHelloResource]</cs>
    <ck>greeting</ck> = <cv>Hello world!</cv> 
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestResource</ja>(...)
    <jk>public class</jk> MyHelloResource <jk>extends</jk> BasicRestServlet {
       <jc>// Access config file when initializing fields.</jc>
@@ -17468,7 +17468,7 @@
                <br>Any <a class='doclink' href='#DefaultRestSvlVariables'>initialization-time or request-time variables</a> can be used.
                
                <h5 class='figure'>Example usage:</h5>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc>#-----------------------------</cc>
    <cc># Contents of microservice.cfg </cc>
    <cc>#-----------------------------</cc>
@@ -17476,7 +17476,7 @@
    <ck>greeting</ck> = <cv>Hello $RP{person}!</cv> 
    <ck>localizedGreeting</ck> = <cv>$L{HelloMessage,$RP{person}}</cv> 
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <cc>#---------------------------------</cc>
    <cc># Contents of MyHelloResource.java </cc>
    <cc>#---------------------------------</cc>
@@ -17500,7 +17500,7 @@
       }
    }     
                </p>
-               <p class='bcode'>
+               <p class='bcode w800'>
    <cc>#---------------------------------------</cc>
    <cc># Contents of nls/Messages_en.properties </cc>
    <cc>#---------------------------------------</cc>
@@ -17552,13 +17552,13 @@
          Now let's take a look at the resource classes themselves.  
          <br>The top-level page...
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000
       </p>        
-      <img class='bordered' src='doc-files/juneau-microservice-server.Running.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-microservice-server.Running.1.png'>
       <p>
          ...is generated by this class...
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/"</js>,
       title=<js>"My Microservice"</js>,
@@ -17595,14 +17595,14 @@
       <p>
          If you click the <l>helloWorld</l> link in your application, you'll get a simple hello world message:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld
       </p>        
-      <img class='bordered' src='doc-files/juneau-microservice-server.ResourceClasses.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-microservice-server.ResourceClasses.1.png'>
       <p>
          ...which is generated by this class...
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       path=<js>"/helloWorld"</js>,
       title=<js>"Hello World example"</js>,
@@ -17679,13 +17679,13 @@
          <p>
             First, the manifest file needs to be modified to point to our new microservice:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <mk>Main-Class:</mk> com.foo.SampleCustomRestMicroservice
          </p>
          <p>
             Then we define the following class:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <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
@@ -17728,7 +17728,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Archive File</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-examples-core-7.1.0.zip 
    </p>  
    
@@ -17767,7 +17767,7 @@
 <div class='topic'>
 
    <h5 class='figure'>Archive File</h5>
-   <p class='bcode' style='width:500px;'>
+   <p class='bcode w500'>
    juneau-examples-rest-7.1.0.zip 
    </p>  
 
@@ -17798,10 +17798,10 @@
       The microservice can be started from the <code>juneau-examples-rest.launch</code> file.
       It will start up the microservice on port 10000 which you can then view through a browser:
    </p>
-      <p class='bcode' style='width:400px;'>
+      <p class='bcode w400'>
    http://localhost:10000
       </p>        
-   <img class='bordered' src='doc-files/juneau-examples-rest.4.png' style='width:400px'>
+   <img class='bordered w400' src='doc-files/juneau-examples-rest.4.png'>
       
    <!-- ======================================================================================================= -->
    <a id="juneau-examples-rest.RootResources"></a>
@@ -17832,14 +17832,14 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.RootResources.1.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.RootResources.1.png'>
       <p>
          The <l>RootResources</l> class can also be defined as a servlet in a <l>web.xml</l> file:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;web-app</xt> <xa>version</xa>=<xs>'2.3'</xs><xt>&gt;</xt>
       <xt>&lt;servlet&gt;</xt>
          <xt>&lt;servlet-name&gt;</xt>RootResources<xt>&lt;/servlet-name&gt;</xt>
@@ -17856,7 +17856,7 @@
       </p>
       
       <h5 class='figure'>RootResources.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/**
     * Sample REST resource showing how to implement a "router" resource page.
     */</jd>
@@ -17964,7 +17964,7 @@
       </p>
       
       <h5 class='figure'>HelloWorldResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample REST resource that prints out a simple "Hello world!" message. 
    */</jd> 
@@ -18010,18 +18010,18 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.HelloWorldResource.1.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.HelloWorldResource.1.png'>
       <p>
          Using the special <l>&amp;Accept=text/json</l> and <l>&amp;plainText=true</l> parameters
             allows us to see this page rendered as JSON:
       </p>     
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/helloWorld?Accept=text/json&amp;plainText=true
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.HelloWorldResource.2.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.HelloWorldResource.2.png'>
    </div>   
 
    <!-- ======================================================================================================= -->
@@ -18048,7 +18048,7 @@
       </p>
       
       <h5 class='figure'>MethodExampleResource.java</h5>
-      <p class='bcode'>          
+      <p class='bcode w800'>           
    <jd>/** 
    * Sample REST resource that shows how to define REST methods and OPTIONS pages 
    */</jd> 
@@ -18278,17 +18278,17 @@
       <p>
          When you visit this page through the router page, you can see the top level page:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/methodExample
       </p>        
-      <img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.1.png" style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.1.png'>
       <p>
          Clicking the first link on the page results in this page:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/methodExample/example1/foo/123/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/path-remainder?q1=456&amp;q2=bar      
       </p>        
-      <img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.2.png" style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.2.png'>
       <p>
          Notice how the conversion to POJOs is automatically done for us, even for non-standard POJOs such as UUID.
       </p>
@@ -18325,7 +18325,7 @@
       </p>
       
       <h5 class='figure'>BasicRestServlet.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** OPTIONS request handler */</jd>
    <ja>@RestMethod</ja>(name=<jsf>OPTIONS</jsf>, path=<js>"/*"</js>)
    <jk>public</jk> Swagger getOptions(RestRequest req) {
@@ -18337,7 +18337,7 @@
          through a property defined by the <a href="org/apache/juneau/html/HtmlDocSerializer.html" title="class in org.apache.juneau.html"><code>HtmlDocSerializer</code></a> class
          and specified on the resource class annotation:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          navlinks={
@@ -18354,10 +18354,10 @@
       <p>
          Clicking the <l>options</l> link on the page presents you with information about how to use this resource:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/methodExample/?method=OPTIONS
       </p>        
-      <img class='bordered' src="doc-files/juneau-examples-rest.MethodExampleResource.3.png" style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.MethodExampleResource.3.png'>
       <p>
          This page (like any other) can also be rendered in JSON or XML by using the <l>&amp;Accept</l> URL parameter.
       </p>
@@ -18382,7 +18382,7 @@
       </p>
       
       <h5 class='figure'>UrlEncodedFormResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample REST resource for loading URL-Encoded form posts into POJOs. 
    */</jd> 
@@ -18473,7 +18473,7 @@
       </p>
       
       <h5 class='figure'>UrlEncodedFormResource.properties</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#--------------------------------------------------------------------------------
    # UrlEncodedFormResource labels
    #--------------------------------------------------------------------------------</cc>
@@ -18491,18 +18491,18 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/urlEncodedForm
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.1.png'>
       <p>
          Entering some values and clicking <l>submit</l> causes the form bean to be populated
          and returned back as a POJO response:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/urlEncodedForm
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.UrlEncodedFormResource.2.png'>
 
       <h5 class='toc'>Additional Information</h5>
       <ul class='toc'>
@@ -18544,7 +18544,7 @@
       </p>
       
       <h5 class='figure'>RequestEchoResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
     * Sample REST resource for echoing HttpServletRequests back to the browser
     */</jd>
@@ -18617,7 +18617,7 @@
       </p>
       
       <h5 class='figure'>Hypothetical RequestEchoResource.createSerializers() method</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** Override the default rest serializers to add some transforms through an INIT hook*/</jd>
    <ja>@RestHook</ja>(<jsf>INIT</jsf>)
    <jk>public void</jk> init(RestContextBuilder builder) throws Exception {
@@ -18641,10 +18641,10 @@
          Pointing a browser to the resource shows the following:
       </p>
       
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/echo
       </p>        
-      <img class='bordered' src="doc-files/juneau-examples-rest.RequestEchoResource.1.png" style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.RequestEchoResource.1.png'>
       <p>
          This gives you an idea of what kinds of POJO models can be serialized, since you are serializing a regular 
          old <l>HttpServletRequest</l> object.
@@ -18697,10 +18697,10 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/addressBook/people
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.AddressBookResource.1.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.1.png'>
       
       <!-- ======================================================================================================= -->
       <a id="juneau-examples-rest.AddressBookResource.Classes"></a>
@@ -18740,7 +18740,7 @@
          </p>
          
          <h5 class='figure'>package-info.java</h5>
-         <p class='bcode'>    
+         <p class='bcode w800'>     
    <jc>// XML and RDF namespaces used in this package</jc>
    <ja>@Xml</ja>(ns=<js>"ab"</js>,
       namespaces={
@@ -18771,7 +18771,7 @@
          </p>  
          
          <h5 class='figure'>IAddressBook.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** 
    * Interface used to help illustrate proxy interfaces. 
    * See {<ja>@link</ja> SampleRemoteableServlet}. 
@@ -18813,7 +18813,7 @@
          </p>  
          
          <h5 class='figure'>AddressBook.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Address book bean */</jd>
    <ja>@Bean</ja>(typeName=<js>"addressBook"</js>)
    <jk>public class</jk> AddressBook <jk>extends</jk> LinkedList&lt;Person&gt; <jk>implements</jk> IAddressBook {
@@ -18850,7 +18850,7 @@
          </p>
          
          <h5 class='figure'>Person.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Person bean */</jd>
    <ja>@Xml</ja>(prefix=<js>"per"</js>)
    <ja>@Rdf</ja>(prefix=<js>"per"</js>)
@@ -18916,7 +18916,7 @@
          </p>
          
          <h5 class='figure'>Address.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Address bean */</jd> 
    <ja>@Xml</ja>(prefix=<js>"addr"</js>) 
    <ja>@Rdf</ja>(prefix=<js>"addr"</js>) 
@@ -18962,7 +18962,7 @@
          </p>
          
          <h5 class='figure'>CreatePerson.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Person creator bean */</jd>
    <ja>@Xml</ja>(prefix=<js>"per"</js>)
    <ja>@Rdf</ja>(prefix=<js>"addr"</js>)
@@ -18991,7 +18991,7 @@
          </p>
          
          <h5 class='figure'>CreateAddress.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** Address creator bean */</jd>
    <ja>@Xml</ja>(ns=<js>"addr"</js>)
    <ja>@Rdf</ja>(ns=<js>"addr"</js>)
@@ -19023,7 +19023,7 @@
          </p>
          
          <h5 class='figure'>AddressBookResource.java</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jd>/** 
    * Proof-of-concept resource that shows off the capabilities of working with POJO resources. 
    * Consists of an in-memory address book repository. 
@@ -19394,7 +19394,7 @@
          </p>
          
          <h5 class='figure'>AddressBookResource.properties</h5>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <ck>title</ck> = <cv>AddressBook sample resource</cv>
    <ck>description</ck> = <cv>Proof-of-concept resource that shows off the capabilities of working with POJO resources</cv>
    
@@ -19481,17 +19481,17 @@
          <p>
             Pointing a browser to the resource shows the results of running the <l>getRoot()</l> method:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook
          </p>        
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.01.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.01.png'>
          <p>
             Clicking the <l>people</l> link shows you the result of running the <l>getAllPeople()</l> method:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people
          </p>        
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.02.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.02.png'>
          <p>
             Notice how the <l>URI</l> properties automatically became hyperlinks.  
          </p>
@@ -19504,22 +19504,22 @@
          </p>
          
          <h5 class='figure'>JSON</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/json&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.03.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.03.png'>
          
          <h5 class='figure'>Lax JSON</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/json+simple&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.04.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.04.png'>
          
          <h5 class='figure'>XML</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/xml&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.05.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.05.png'>
          <p>
             Notice how our <l>XML_enableNamespaces</l> and <l>XML_autoDetectNamespaces</l> settings result
             in namespaces being used.
@@ -19530,10 +19530,10 @@
          </p>
          
          <h5 class='figure'>RDF/XML</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/xml+rdf+abbrev&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.06.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.06.png'>
          <p>
             Notice how the <code><ja>@BeanProperty</ja>(uri=<jk>true</jk>)</code> annotations are used to identify 
             values for <l>rdf:about</l> values.
@@ -19547,22 +19547,22 @@
          </p>
          
          <h5 class='figure'>HTML Schema</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/html+schema
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.07.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.07.png'>
          
          <h5 class='figure'>JSON Schema</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/json+schema&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.08.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.08.png'>
          
          <h5 class='figure'>XML Schema</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?Accept=text/xml+schema&amp;plainText=true
          </p>
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.09.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.09.png'>
          <p>
             Now let's see what else you can do.
          </p>
@@ -19570,18 +19570,18 @@
             Clicking on the first <l>personUri</l> link executes the <l>getPerson()</l> method, which renders a 
             serialized <l>Person</l> object:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people/1
          </p>        
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.10.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.10.png'>
          <p>
             Clicking on the OPTIONS link on the page shows you the Swagger doc generated from our annotations and 
             resource bundle properties:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/?method=OPTIONS
          </p>        
-         <img class='bordered' src="doc-files/juneau-examples-rest.AddressBookResource.Demo.11.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Demo.11.png'>
       </div>
    
       <!-- ======================================================================================================= -->
@@ -19592,15 +19592,15 @@
             Because you added the <l>Traversable</l> converter to the <l>getPerson</l> method, you can also address 
             child nodes in the POJO model through path remainders:
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people/1/addresses/0
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Traversable.1.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Traversable.1.png'>
          <br><br>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people/1/addresses/0/street
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Traversable.2.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Traversable.2.png'>
       </div>
 
       <!-- ======================================================================================================= -->
@@ -19613,22 +19613,22 @@
          </p>
          
          <h5 class='figure'>Show only the name and addresses columns</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?v=name,addresses
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.1.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.1.png'>
          
          <h5 class='figure'>Show only names that start with 'B*'</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?s=name=B*
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.2.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.2.png'>
          
          <h5 class='figure'>Show only entries with age greater than 60</h5>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people?s=age>=60
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Queryable.3.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Queryable.3.png'>
       </div>
    
       <!-- ======================================================================================================= -->
@@ -19639,10 +19639,10 @@
             The <l>Introspectable</l> converter on the <l>getPerson</l> method allows us to invoke public methods 
             on the addressed POJO (in this case, public methods on the <l>String</l> class):
          </p>
-         <p class='bcode' style='width:800px;'>
+         <p class='bcode w800'>
    http://localhost:10000/addressBook/people/1/name?invokeMethod=substring(int,int)&amp;invokeArgs=[1,5]
          </p>        
-         <img class="bordered" src="doc-files/juneau-examples-rest.AddressBookResource.Introspectable.1.png" style='width:800px;'>
+         <img class='bordered w800' src='doc-files/juneau-examples-rest.AddressBookResource.Introspectable.1.png'>
       </div>
    
       <!-- ======================================================================================================= -->
@@ -19658,7 +19658,7 @@
          </p>
          
          <h5 class='figure'>ClientTest.java</h5>
-         <p class='bcode'>    
+         <p class='bcode w800'>     
    <jd>/** 
    * Sample client code for interacting with AddressBookResource 
    */</jd> 
@@ -19745,7 +19745,7 @@
          <p>
             The output from running this code is the following:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    Running client test...
    Number of entries = 2
    Deleted person Barack Obama, response = DELETE successful
@@ -19770,7 +19770,7 @@
             <br>The same actions done programmatically in the last section can also be done using URLs.
             <br>By default, you can override the HTTP Method and Content through GET parameters, as shown below:
          </p>
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Delete the existing entries</jc>
    http://localhost:10000/addressBook/people/1?method=DELETE
    http://localhost:10000/addressBook/people/2?method=DELETE
@@ -19833,27 +19833,27 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/tempDir
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.1.png'>
       <p>
          Pointing a browser to the <l>upload</l> link shows a form entry page:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/tempDir/upload
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.2.png'>
       <p>
          Submitting a file redirects to the top-level page:
       </p>  
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/tempDir
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.TempDirResource.3.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.TempDirResource.3.png'>
       
       <h5 class='figure'>TempDirResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample resource that extends DirectoryResource to open up the temp directory as a REST resource. 
    */</jd> 
@@ -19967,27 +19967,27 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/atom
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.1.png'>
       <p>
          True ATOM feeds require using an <l>Accept:text/xml</l> header:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/atom?Accept=text/xml&amp;plainText=true
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.2.png'>
       <p>
          Other languages, such as JSON are also supported:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/atom?Accept=text/json&amp;plainText=true
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.AtomFeedResource.3.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.AtomFeedResource.3.png'>
       
       <h5 class='figure'>AtomFeedResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample resource that shows how to generate ATOM feeds. 
    */</jd> 
@@ -20098,12 +20098,12 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/docker
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.DockerRegistryResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.DockerRegistryResource.1.png'>
       <h5 class='figure'>DockerRegistryResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample resource that shows how to mirror query results from a Docker registry. 
    */</jd> 
@@ -20181,7 +20181,7 @@
          In this example, we're pulling the aside message from an external file:
       </p>
       <h5 class='figure'>resources/DockerRegistryResourceAside.html</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <xt>&lt;div</xt> <xa>style</xa>=<xs>'min-width:200px'</xs> <xa>class</xa>=<xs>'text'</xs><xt>&gt;</xt>
       <xt>&lt;p&gt;</xt>REST API for searching Docker registries.<xt>&lt;/p&gt;</xt>
       <xt>&lt;p&gt;</xt>To use, you must first specify the Docker registry URL in the <xt>&lt;code&gt;</xt>[Docker]<xt>&lt;/code&gt;</xt> section of the config file.<xt>&lt;/p&gt;</xt>
@@ -20193,7 +20193,7 @@
       </p>
       
       <h5 class='figure'>examples.cfg</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#================================================================================
    # DockerRegistryResource properties
    #================================================================================</cc>
@@ -20223,13 +20223,13 @@
          Pointing a browser at a Tumblr blog name, such as <l>ibmblr</l> causes a REST call to be make to the Tumblr
          blog and the results to be parsed:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/tumblrParser/ibmblr
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.TumblrParserResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.TumblrParserResource.1.png'>
       
       <h5 class='figure'>TumblrParserResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <ja>@RestResource</ja>( 
       path=<js>"/tumblrParser"</js>,
       messages=<js>"nls/TumblrParserResource"</js>,
@@ -20315,20 +20315,20 @@
       <p>
          The resource consists of a simple registry of images with integer IDs.
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/photos
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.PhotosResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.PhotosResource.1.png'>
       <p>
          It is initialized with a single entry, which can be accessed through a GET request.
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/photos/cat
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.PhotosResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.PhotosResource.2.png'>
       
       <h5 class='figure'>PhotosResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/**
     * Sample resource that allows images to be uploaded and retrieved.
     */</jd>
@@ -20493,20 +20493,20 @@
          The resource consists of a pre-initialized <a href="org/apache/juneau/dto/jsonschema/Schema.html" title="class in org.apache.juneau.dto.jsonschema"><code>Schema</code></a> object.
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/jsonSchema
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.JsonSchemaResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.JsonSchemaResource.1.png'>
       <p>
          For true JSON-Schema, you need to specify the header <l>Accept: text/json</l>:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/jsonSchema?Accept=text/json&amp;plainText=true
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.JsonSchemaResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.JsonSchemaResource.2.png'>
       
       <h5 class='figure'>JsonSchemaResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample resource that shows how to serialize JSON-Schema documents. 
    */</jd> 
@@ -20602,21 +20602,21 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/sqlQuery
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.SqlQueryResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.SqlQueryResource.1.png'>
       <p>
          Running a query results in the following output:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    select count(*) from SYS.SYSTABLES;
    select TABLEID,TABLENAME,TABLETYPE from SYS.SYSTABLES;
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.SqlQueryResource.2.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.SqlQueryResource.2.png'>
       
       <h5 class='figure'>SqlQueryResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Sample resource that shows how Juneau can serialize ResultSets. 
    */</jd> 
@@ -20778,7 +20778,7 @@
    } 
       </p>
       <h5 class='figure'>samples.cfg</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <cc>#================================================================================
    # SqlQueryResource properties
    #================================================================================</cc>
@@ -20801,24 +20801,24 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/config
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.ConfigResource.1.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.ConfigResource.1.png'>
       <p>
          An edit page is provided for altering the raw config file:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/config/edit
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.ConfigResource.2.png' style='width:800px'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.ConfigResource.2.png'>
       <p>
          The <a href="org/apache/juneau/config/Config.html" title="class in org.apache.juneau.config"><code>Config</code></a> class is a serializable POJO, which makes the resource
             relatively straightforward to implement.
       </p>
       
       <h5 class='figure'>ConfigResource.java</h5>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jd>/** 
    * Shows contents of the microservice configuration file. 
    */</jd> 
@@ -20956,10 +20956,10 @@
       <p>
          Pointing a browser to the resource shows the following:
       </p>
-      <p class='bcode' style='width:800px;'>
+      <p class='bcode w800'>
    http://localhost:10000/logs
       </p>        
-      <img class='bordered' src='doc-files/juneau-examples-rest.LogsResource.1.png' style='width:800px;'>
+      <img class='bordered w800' src='doc-files/juneau-examples-rest.LogsResource.1.png'>
    </div>
 
 </div>
@@ -20998,7 +20998,7 @@
       <p>
          The following example shows a potential vector that circumvents the restriction above:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Don't do this!</jc>
    Class c = Class.<jsf>forName</jsf>(someUserInputString);
    JsonParser.<jsf>DEFAULT</jsf>.parse(input, c);  <jc>// Oops!  Security hole!</jc>
@@ -21020,7 +21020,7 @@
          vulnerabilities.  However, it is possible to circumvent this through your swap implementation as shown
          below:   
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jc>// Don't do this!</jc>
    <jk>public class</jk> MyInsecureSwap <jk>extends</jk> PojoSwap&lt;ObjectMap,Object&gt; {
       <jk>public</jk> Object swap(BeanSession session, ObjectMap input) <jk>throws</jk> Exception {
@@ -21072,7 +21072,7 @@
          An example of a potential security hole is shown below that could potentially expose any file on a file
          system through a REST request:
       </p>
-      <p class='bcode'>
+      <p class='bcode w800'>
    <jk>public</jk> String doUnsafeGet(RestRequest req) {
       <jc>// Security hole!</jc>
       <jk>return</jk> req.getVarResolver().resolve(<js>"$RQ{foo}"</js>);
@@ -21631,7 +21631,7 @@
          <li>
             Added the following annotations to the <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class
             (which were previously defined on the <code><del>Resource</del></code> class):
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestResource</ja>(
       htmldoc=<ja>@HtmlDoc</ja>(
          navlinks={
@@ -21696,7 +21696,7 @@
       <ul class='spaced-list'>
          <li>New static <code>create()</code> methods for builders on serializers and parsers.
             <br>This simplifies the syntax of creation of serializers and parsers by scratch.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>// Old way</jc>
    JsonSerializer s1 = <jk>new</jk> JsonSerializerBuilder().ws().build();
    
@@ -21741,7 +21741,7 @@
          <li>
             New pluggable console commands.
             <br>When you start up the microservice, you'll now see the following:
-            <p class='bcode'>
+            <p class='bcode w800'>
    Running class 'RestMicroservice' using config file 'examples.cfg'.
    Server started on port 10000
 
@@ -21773,7 +21773,7 @@
             </p>
             <p>
             Commands are pluggable and extensible through the config file. 
-   <p class='bcode'>
+   <p class='bcode w800'>
    <cc>#=======================================================================================================================
    # Console settings
    #=======================================================================================================================</cc>
@@ -21846,7 +21846,7 @@
             Removed annotation <code><ja>@HtmlDoc</ja>(favIcon)</code>.
             <br>This was a discouraged way of defining fav-icons anyway, and with the addition of 
             <code><ja>@HtmlDoc</ja>(head)</code>, you can define them using:
-            <p class='bcode'>
+            <p class='bcode w800'>
    head={
       <js>"&lt;link rel='icon' href='$U{servlet:/htdocs/juneau.png}'/&gt;"</js>
    }
@@ -21867,7 +21867,7 @@
       <p>
          The library now consists of the following artifacts found in the Maven group <code>"org.apache.juneau"</code>:
       </p>
-      <table class='styled' style='min-width:800px;'>
+      <table class='styled w800'>
          <tr>
             <th>Category</th><th>Maven Artifacts</th><th>Description</th><th>Prereqs</th>
          </tr>
@@ -22052,7 +22052,7 @@
                   <br>Replaces the <code>@Pojo</code> and <code>@BeanProperty.swap()</code> annotations.
                <li>Support for per-media-type swaps.
                   <br>Programmatic example:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    <ja>@Swap</ja>(MyJsonOnlySwap.<jk>class</jk>)         
    <jk>public class</jk> MyPojo {}
 
@@ -22067,7 +22067,7 @@
       }
                   </p>
                   <br>Annotated example:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    <ja>@Swap</ja>(impl=ToStringSwap.<jk>class</jk>, mediaTypes=<js>"&#42;/json"</js>)
    <jk>public class</jk> MyBean { ... }
 
@@ -22079,7 +22079,7 @@
                   </p>
                <li>Support for templated swaps which provide additional context information for a swap.
                   <br>The following is an example of a templated swap class used to serialize POJOs to HTML using FreeMarker:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    <jc>// Our abstracted templated swap class.</jc>
    <jk>public abstract class</jk> FreeMarkerSwap <jk>extends</jk> PojoSwap&lt;Object,Reader&gt; {
 
@@ -22092,13 +22092,13 @@
       }
    }
                   </p>
-                  <p class='bcode'>
+                  <p class='bcode w800'>
       <ja>@Swap</ja>(impl=FreeMarkerSwap.<jk>class</jk>, template=<js>"MyPojo.div.ftl"</js>)
       <jk>public class</jk> MyPojo {}
                   </p>
                <li>New <a href="org/apache/juneau/annotation/Swaps.html" title="annotation in org.apache.juneau.annotation"><code>@Swaps</code></a> annotation for defining multiple swaps
                   against the same POJO when they're differentiated by media types:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    <ja>@Swaps</ja>(
       {
          <ja>@Swap</ja>(MyJsonSwap.<jk>class</jk>),
@@ -22118,7 +22118,7 @@
             directly to the output stream or writer.
             <br>When used with conjunction with <code>PojoSwaps</code>, this can be used to provide customized
             output for specific content types.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Pojo</ja>(swap=MyBeanSwap.<jk>class</jk>)
    <jk>public class</jk> MyBean {...}
    
@@ -22139,7 +22139,7 @@
          <li>
             <a href="org/apache/juneau/serializer/SerializerSession.html" title="class in org.apache.juneau.serializer"><code>SerializerSession</code></a> and <a href="org/apache/juneau/parser/ParserSession.html" title="class in org.apache.juneau.parser"><code>ParserSession</code></a>
             objects are now reusable if used within the same thread.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>// Old way (still works)</jc>
    JsonSerializer.<jsf>DEFAULT</jsf>.serialize(writer1, pojo1);
    JsonSerializer.<jsf>DEFAULT</jsf>.serialize(writer2, pojo2);
@@ -22405,7 +22405,7 @@
             <ul>
                <li><a href="org/apache/juneau/rest/annotation/HtmlDoc.html#navlinks--"><code>navlinks()</code></a> - Now an array of strings instead of a JSON object.  Simplified syntax.
                   <br>For example:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    <jc>// Old syntax</jc>
    htmldoc=<ja>@HtmlDoc</ja>(
       links=<js>"{"</js>
@@ -22521,7 +22521,7 @@
             </ul>
             Instead, the <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> class defines the following default header
             that can be easily overridden: 
-            <p class='bcode'>
+            <p class='bcode w800'>
    htmldoc=<ja>@HtmlDoc</ja>(
       header={
          <js>"&lt;h1&gt;$R{resourceTitle}&lt;/h1&gt;"</js>,
@@ -22536,7 +22536,7 @@
             files in the classpath.
             <br>The <code>DockerRegistryResource</code> examples shows how it can be used to pull in a localized
             file from the classpath to populate the aside section of a page.
-            <p class='bcode'>
+            <p class='bcode w800'>
    htmldoc=<ja>@HtmlDoc</ja>(
       <jc>// Pull in aside contents from file.</jc>
       aside=<js>"$F{resources/DockerRegistryResourceAside.html}"</js>
@@ -22586,7 +22586,7 @@
          <li>
             All parsers now allow for numeric types with <js>'K'</js>/<js>'M'</js>/<js>'G'</js> suffixes to represent
             kilobytes, megabytes, and gigabytes.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>// Example</jc>
    <jk>int</jk> i = JsonParser.<jsf>DEFAULT</jsf>.parse(<js>"123M"</js>);  <jc>// 123MB</jc>
             </p>
@@ -22641,11 +22641,11 @@
                      <li><js>"request:/..."</js> - Relative to the request URI.
                   </ul>
                   For example, currently we define HTML page links using variables and servlet-relative URIs...
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    pages=<js>"{up:'$R{requestParentURI}', options:'?method=OPTIONS', upload:'upload'}"</js>
                   </p>
                   With these new protocols, we can define them like so:
-                  <p class='bcode'>
+                  <p class='bcode w800'>
    links=<js>"{top:'context:/', up:'request:/..' ,options:'servlet:/?method=OPTIONS', upload:'servlet:/upload'}"</js>
                   </p>
                   The old method of using variables and servlet-relative URIs will still be supported, but using 
@@ -22668,7 +22668,7 @@
             </ul>
          <li>New annotation property: <a href="org/apache/juneau/annotation/BeanProperty.html#value--"><code>@BeanProperty.value()</code></a>.
             <br>The following two annotations are considered equivalent:
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@BeanProperty</ja>(name=<js>"foo"</js>)
    
    <ja>@BeanProperty</ja>(<js>"foo"</js>)
@@ -22812,7 +22812,7 @@
                <li><code><del>ConfigFile</del></code> - The external config file for the resource.
             </ul>
             So, for example...
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jd>/** Old way */</jd> 
    <ja>@RestMethod</ja>(name=<js>"*"</js>, path=<js>"/example1/{a1}/{a2}/{a3}/*"</js>) 
    <jk>public</jk> String example1( 
@@ -22990,7 +22990,7 @@
             Revamped the serializer, parser classes to use builders for creation.
             Serializers and parsers are now unmodifiable objects once they are created.
             This is a breaking code change that will require adoption.
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>/* Creating a new serializer or parser */ </jc>
    
    <jc>// Old way</jc>
@@ -23128,7 +23128,7 @@
                <li><code><del>@RestResource.pageLinks()</del></code> 
                <li><code><del>@RestMethod.pageLinks()</del></code> 
             </ul>          
-            <p class='bcode'>
+            <p class='bcode w800'>
    <jc>// Old method</jc>
    <ja>@RestResource</ja>(
       properties={
@@ -23149,7 +23149,7 @@
                Typically you're going to simply want to use the <code>title</code> and <code>description</code> annotations
                which apply to both the page title/text and the swagger doc:      
             </p>
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestResource</ja>(
       title=<js>"System properties resource"</js>,
       description=<js>"REST interface for performing CRUD operations on system properties."</js>,
@@ -23161,7 +23161,7 @@
             and is now immutable.  It also includes a new <a href="org/apache/juneau/rest/StreamResourceBuilder.html" title="class in org.apache.juneau.rest"><code>StreamResourceBuilder</code></a> class.
          <li>Simplified remoteable proxies using the <code><ja>@RestMethod</ja>(name=<js>"PROXY"</js>)</code> annotation on REST methods.
             Used to expose interface proxies without the need for <a href="org/apache/juneau/rest/remoteable/RemoteableServlet.html" title="class in org.apache.juneau.rest.remoteable"><code>RemoteableServlet</code></a>.
-         <p class='bcode'>
+         <p class='bcode w800'>
    <jc>// Server side</jc>
    <ja>@RestMethod</ja>(name=<js>"PROXY"</js>, path=<js>"/myproxy/*"</js>)
    <jk>public</jk> IAddressBook getProxy() {
@@ -23177,7 +23177,7 @@
             without affecting functionality.  Very useful for debugging.
          <li>You can now use numeric values in path annotations.  
             <br>When using numeric variable names, you don't need to specify the variable name in the <ja>@Path</ja> annoation:
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestMethod</ja>(name=<js>"GET"</js>, path=<js>"/myurl/{0}/{1}/{2}/*"</js>)
    <jk>public void</jk> doGet(RestRequest req, RestResponse res,
          <ja>@Path</ja> String foo, <ja>@Path</ja> <jk>int</jk> bar, <ja>@Path</ja> UUID baz) {
@@ -23350,7 +23350,7 @@
             Using these methods, you can construct arbitrarily complex objects consisting of maps and collections.
             You could do this before, but it required constructing a <code>ClassMeta</code> object.  
             <br>For example:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jc>// Old way:</jc>
    ClassMeta&lt;?&gt; cm = parser.getMapClassMeta(
       HashMap.<jk>class</jk>, 
@@ -23369,7 +23369,7 @@
             <li>No need for casting anymore if you were using the old <code>parseMap()</code> and <code>parseCollection()</code> methods!
             <li>Changes allow me to eliminate <code>BeanContext.normalizeClassMeta()</code> method.
             <li>Convenience methods added for setting parser properties:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jc>// Old way:</jc>
    <jk>new</jk> JsonParser().setProperty(<jsf>PARSER_strict</jsf>, <jk>true</jk>).setProperty(<jsf>BEAN_locale</jsf>, mylocale);
    
@@ -23380,7 +23380,7 @@
          <li>Improvements to Serializer class:
          <ul>
             <li>Convenience methods added for setting serializer properties:
-               <p class='bcode'>
+               <p class='bcode w800'>
    <jc>// Old way:</jc>
    <jk>new</jk> JsonSerializer().setProperty(<jsf>JSON_simpleMode</jsf>, <jk>true</jk>).setProperty(<jsf>SERIALIZER_quoteChar</jsf>, <js>'"'</js>);
    
@@ -24426,13 +24426,13 @@
          <li>Added methods <code><del>RestServlet.getDescription(RestRequest)</del></code> and <del><code>RestServlet.getLabel(RestRequest)</code></del>.
          <li><a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> and <code><del>RestServletJenaDefault</del></code> now provide default HTML titles
             and descriptions:
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Property</ja>(name=<jsf>HTMLDOC_title</jsf>, value=<js>"$R{resourceTitle}"</js>),
    <ja>@Property</ja>(name=<jsf>HTMLDOC_description</jsf>, value=<js>"$R{resourceDescription}"</js>)
             </p>
          <li>Options pages on <a href="org/apache/juneau/rest/BasicRestServlet.html" title="class in org.apache.juneau.rest"><code>BasicRestServlet</code></a> and <code><del>RestServletJenaDefault</del></code> now provide default descriptions and back links:
             and descriptions:
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@Property</ja>(name=<jsf>HTMLDOC_navlinks</jsf>, value=<js>"{back:'$R{servletURI}"</js>),
    <ja>@Property</ja>(name=<jsf>HTMLDOC_description</jsf>, value=<js>"Resource options"</js>)
             </p>
@@ -25174,7 +25174,7 @@
       <ul class='spaced-list'>
          <li>
             New support for runtime-replaced variables in REST resource properties:
-            <p class='bcode'>
+            <p class='bcode w800'>
    <ja>@RestResource</ja>(
       messages=<js>"nls/Messages"</js>,
       properties={
diff --git a/content/site/apidocs/resources/juneau-code.css b/content/site/apidocs/resources/juneau-code.css
index d58bb74..ed078e0 100644
--- a/content/site/apidocs/resources/juneau-code.css
+++ b/content/site/apidocs/resources/juneau-code.css
@@ -78,6 +78,16 @@ p.bcode {
 	box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);
 }
 
+.w400 {
+	width:400px !important;
+}
+.w500 {
+	width:500px !important;
+}
+.w800 {
+	width:800px !important;
+}
+
 /*--- Bordered code in a section of a method doc ---*/
 dd p.bcode {
 	margin-left:0px;

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

Mime
View raw message